분산 알고리즘 & 합의 프로토콜

별점: ★★★★★ | 기본 필수


답안.

Ⅰ. 개요

정의: 분산 시스템은 다음 3가지를 동시 만족 불가 C (Consistency): 모든 노드가 동일한 데이터 응답 A (Availability): 모든 요청에 항상 응답

Ⅱ. 핵심 구성요소

정의: 분산 시스템은 다음 3가지를 동시 만족 불가

C (Consistency): 모든 노드가 동일한 데이터 응답
A (Availability): 모든 요청에 항상 응답
P (Partition Tolerance): 네트워크 분할 시에도 동작

→ 실제: P는 포기 불가 → CA or CP 선택

[분류 예시]
CP 시스템: HBase, Zookeeper, Redis (클러스터)
  → 일관성 우선, 분할 시 가용성 희생
  
CA 시스템 (이론적): 단일 노드 (분할 없음 가정)

AP 시스템: Cassandra, CouchDB, DynamoDB
  → 가용성 우선, 최종 일관성

PACELC 정리 (CAP 확장):
  분할 없을 때도: 지연(L) vs 일관성(C) 트레이드오프
[Paxos]
분산 시스템 합의 문제 해결 (Lamport)
단계: Prepare → Promise → Accept → Accepted
Leader 기반, 다수결(쿼럼) 동의

[Raft]
Paxos보다 이해하기 쉬운 합의 알고리즘
역할: Leader / Follower / Candidate


해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.

### Ⅲ. 특징 및 비교

핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.

### Ⅳ. 적용 사례

실무 환경에서의 적용 사례와 기대효과를 제시한다.

### Ⅴ. 전망

최신 기술 동향과 향후 발전 방향을 서술한다.