[디지털 뱃지] 일일 스터디 Day 09
General(Consensus) & AI/Big Data(Distributed) 핵심 돌파
1. 오늘의 핵심 이론 설명
분산 클러스터의 합의 알고리즘, 래프트(Raft Consensus)의 핵심 원리
클라우드 인프라 오케스트레이터 툴들이 여러 물리 노드로 분산된 환경에서 단일한 상태를 안전하게 동기화하기 위한 필수 기반 메커니즘입니다.
- 합의 알고리즘(Consensus Algorithm)의 목적: 분산 시스템 환경에서 일부 노드에 장애가 발생하더라도, 정상 작동 중인 노드들이 상호 통신을 통해 데이터 및 상태의 일관성을 100% 유지(결함 허용)하기 위한 규약입니다. 과거의 복잡한 Paxos 알고리즘을 대체하여 Raft가 업계 표준으로 자리 잡았습니다.
- 3가지 고유 노드 상태(State):
- 리더(Leader): 모든 클라이언트의 쓰기 요청을 전담 수신하고, 이를 다른 노드들에게 전파 및 반영을 지시하는 단 하나의 마스터 상태입니다.
- 팔로워(Follower): 리더의 지시를 수동적으로 수신하며 로그를 기록하는 안정 상태입니다.
- 후보자(Candidate): 리더가 다운되었을 때, 새로운 리더를 선출하기 위해 투표를 요청하는 중간 상태입니다. - 과반수(Quorum) 합의 메커니즘: 리더가 쓰기 요청 로그를 팔로워들에게 전파했을 때, 클러스터 전체 노드의 **과반수(예: 5개 노드 중 3개 이상)**가 로그 기록에 성공했다는 응답을 보내야만 최종적으로 데이터를 확정(Commit)합니다. 이 덕분에 소수의 노드가 일시적으로 단절되어도 클러스터 전체 서비스는 중단되지 않습니다.
대용량 분산 컴퓨팅의 근간, 맵리듀스(MapReduce) 모델 구조
수 테라바이트 이상의 정형/비정형 데이터 및 AI 학습 원천 소스를 병렬 분산 환경에서 효율적으로 가공하기 위한 프레임워크의 고전이자 핵심 아키텍처입니다.
- 데이터 분할과 분산 처리 사상: 단일 고성능 서버(Scale-up)가 감당하지 못하는 거대한 데이터를 수많은 범용 리눅스 노드(Scale-out)로 쪼개어 전달한 뒤, 각 노드가 자신에게 할당된 파티션 데이터를 동시에 병렬 연산하게 만들어 물리적 시간 한계를 극복합니다.
- 2단계 주요 워크플로우:
- Map(맵) 단계: 입력된 덩어리 데이터를 로우 레벨 단위로 필터링하거나 가공하여 의미 있는 형태의 [Key, Value] 쌍으로 변환하는 작업입니다.
- Reduce(리듀스) 단계: Map 단계 결과물 중 동일한 Key를 가진 Value들을 하나로 묶어(Grouping) 집계, 합산, 통계 연산을 수행하여 최종 아웃풋을 산출합니다. - 셔플링(Shuffling): Map 단계와 Reduce 단계 사이에 발생하는 데이터 재배치 과정입니다. 맵의 결과물 키들을 네트워크를 통해 해당 키를 처리할 전용 리듀서 노드로 이동시키는 단계로, 네트워크 대역폭 병목을 줄이는 튜닝이 빅데이터 인프라 공학의 핵심입니다.
2. 디지털 뱃지 레벨 1~2 예상 문제집
Q1. 분산 시스템 상태 동기화를 위한 '래프트(Raft) 합의 알고리즘'에 대한 설명 중 가장 거리가 먼 것은?
2) 리더 노드가 다운되면 정상 작동 중인 팔로워 노드들이 투표 과정을 거쳐 새로운 리더를 선출한다.
3) 클라이언트의 데이터 생성 요청은 성능 최적화를 위해 리더뿐만 아니라 모든 팔로워 노드가 즉각 독자적으로 확정(Commit)할 수 있다.
4) 클러스터의 데이터 정합성을 유지하기 위해 전체 노드의 과반수(Quorum) 이상의 동기화 성공 응답을 필수로 요구한다.
정답 및 해설 보기
정답: 3)
해설: Raft 메커니즘에서 모든 상태 쓰기 요청은 반드시 단 하나의 '리더(Leader)' 노드로만 집중되어야 합니다. 팔로워가 임의로 독자적인 쓰기를 처리하지 못하며, 리더가 로그를 하향 배포한 뒤 과반수 합의를 얻어야 비로소 확정됩니다.
Q2. 분산 데이터 처리 모델인 '맵리듀스(MapReduce)' 아키텍처에 대한 설명으로 올바르지 않은 것은?
2) Map 단계는 원천 데이터를 가공하여 고유한 [Key, Value] 쌍의 데이터 구조를 생성하는 역할을 한다.
3) Reduce 단계는 분산된 노드들의 Map 결과물 중 서로 다른 Key를 가진 데이터들만 골라 무작위로 추출하여 결합한다.
4) Map과 Reduce 작업 사이에서 중간 결과물 키를 정렬하고 리듀서 노드로 전달하는 네트워크 과정을 셔플링(Shuffling)이라 한다.
정답 및 해설 보기
정답: 3)
해설: Reduce 단계의 핵심은 무작위 추출이 아니라, Map 단계에서 생성된 데이터 중 **"동일한 Key"를 지닌 Value들을 그룹화(Grouping)**하여 하나의 완성된 통계나 압축 데이터 셋으로 병합 및 집계 연산을 하는 과정입니다.
💡 신기술 추가 지식 : 쿠버네티스의 심장 etcd와 Raft 하이퍼 인프라
우리가 다루는 클라우드 네이티브 플랫폼인 쿠버네티스(K8s) 메인 마스터 노드 내부를 보면, 전체 클러스터 인프라 자원의 배포 상태와 설정 값들이 100% 저장되는 분산 키-밸우 스토어인 etcd가 내장되어 있습니다. 이 etcd 가상화 컴포넌트의 데이터 정합성을 밑바닥에서 보장하는 심장 메커니즘이 바로 오늘 공부한 **Raft 합의 알고리즘**입니다. 마스터 노드를 고가용성(HA) 구조로 분산 구성할 때 etcd 노드들이 Raft 프로토콜을 이용해 초단위로 헬스체크와 로그 리플리케이션을 수행하므로, 특정 마스터 장비가 불시에 화재나 네트워크 단절로 격리되어도 클러스터 인프라 전체가 뇌사 상태에 빠지지 않고 안정성을 유지할 수 있습니다.
'Daily > 디지털 뱃지' 카테고리의 다른 글
| [디지털 뱃지] 일일 스터디 Day 11 (0) | 2026.06.01 |
|---|---|
| [디지털 뱃지] 일일 스터디 Day 10 (0) | 2026.06.01 |
| [디지털 뱃지] 일일 스터디 Day 08 (0) | 2026.05.29 |
| [디지털 뱃지] 일일 스터디 Day 07 (0) | 2026.05.28 |
| [디지털 뱃지] 일일 스터디 Day 06 (0) | 2026.05.27 |