Topic

Paxos

JackerLab 2025. 3. 31. 01:45
728x90
반응형

개요

Paxos는 분산 시스템에서 하나의 값에 대한 일관된 합의를 달성하기 위해 제안된 합의 알고리즘입니다. 1998년 Leslie Lamport가 논문을 통해 소개한 Paxos는 장애 발생 시에도 데이터의 정합성을 보장하며, 고신뢰 시스템의 기초가 되는 기술로 평가받습니다. 본 글에서는 Paxos의 작동 원리, 구성 요소, 특징, 장단점, RAFT와의 비교 및 주요 활용 사례를 중심으로 소개합니다.


1. 개념 및 정의

  • Paxos는 분산된 환경에서 하나의 값에 대해 과반수 노드가 합의에 도달하도록 설계된 프로토콜입니다.
  • 시스템이 일시적으로 분리되거나 노드가 실패하더라도, 전체 시스템의 일관성(consistency)을 유지할 수 있는 구조를 가집니다.
  • 핵심 아이디어는 다수결 기반의 합의 메커니즘을 세 단계로 나누어 처리하는 데 있으며, 특히 합의 도달 시 충돌 없이 결정성이 보장됩니다.

2. 작동 구조

단계 설명 역할
Prepare 제안자가 새로운 제안 번호(n)를 전송 합의 가능 여부 확인 요청
Promise 수신자가 현재 제안보다 큰 제안을 수락하겠다고 약속 중복 방지, 이전 값 공유 가능
Accept 제안자가 다수의 약속(Promise)을 받으면 값을 제출 과반수의 수락 시 합의 도달

Paxos는 여러 제안자가 동시에 경쟁하더라도 하나의 값만 결정되도록 설계돼 있습니다.


3. 구성 요소

구성 요소 설명
Proposer (제안자) 합의할 값을 제시하는 노드
Acceptor (수락자) 다수결 판단을 내리는 노드 (보통 3개 이상 필요)
Learner (학습자) 합의된 값을 전달받고 공유하는 노드

노드 하나가 여러 역할을 동시에 수행할 수도 있으며, 네트워크 환경에 따라 유연한 구현이 가능합니다.


4. 특징

특징 설명 효과
강한 일관성 항상 동일한 값에 대해 합의 보장 데이터 정합성 유지
Fault-Tolerance 과반수 노드가 생존 시 동작 가능 최대 (n-1)/2 장애 허용
안전성 합의 도중 충돌 방지 중복 승인 없는 합의 구조

Paxos는 네트워크 분리나 노드 장애가 있어도 시스템을 안정적으로 유지할 수 있습니다.


5. 장점 및 단점

구분 장점 단점
일관성 보장 강한 정합성 제공 구현 복잡도 높음
장애 내성 일부 노드 오류에도 합의 가능 속도가 느리고 비효율적일 수 있음
확장성 다수 노드에서도 안정적 작동 확장 시 네트워크 부하 증가

Paxos는 신뢰성과 정합성이 중요한 금융, 분산 데이터베이스 등에서 매우 적합합니다.


6. RAFT와 비교

항목 Paxos RAFT
설계 목적 수학적 증명 기반 안정성 강조 구현 및 이해 용이성 강조
리더 기반 리더 필요 없음 (기본 Paxos) 명확한 리더 구조 존재
복잡도 개념과 구현이 복잡 상대적으로 단순하고 직관적
활용 사례 Google Chubby, Spanner 등 etcd, Consul, Kubernetes 등

RAFT는 Paxos의 핵심 원리를 단순화하여 이해와 구현을 쉽게 만든 구조로 평가됩니다.


7. 주요 활용 사례

분야 플랫폼 적용 목적
분산 파일 시스템 Google Chubby Lock 및 메타데이터 일관성 유지
글로벌 DB Google Spanner 글로벌 트랜잭션 정합성 확보
클라우드 인프라 Microsoft Azure Cosmos DB 다중 리전 데이터 동기화
연구/교육 TLA+ 기반 분산 프로토콜 설계 안전성 검증 및 프로토콜 모델링

Paxos는 고신뢰성이 필요한 시스템에서 핵심 합의 프로토콜로 자리잡고 있습니다.


결론

Paxos는 분산 시스템의 일관성과 안정성을 확보하기 위해 가장 널리 연구된 합의 알고리즘 중 하나입니다. 비록 구현이 복잡하고 성능상 한계가 있을 수 있으나, 금융, 글로벌 데이터베이스, 클라우드 인프라 등에서 그 가치와 활용도는 여전히 높습니다. RAFT와 같은 파생 알고리즘도 Paxos의 원리를 기반으로 하고 있어, 기본 개념을 이해하는 것은 분산 시스템 설계에 있어 필수입니다.

728x90
반응형

'Topic' 카테고리의 다른 글

Verifiable Credential (VC)  (1) 2025.03.31
DID (Decentralized Identifier)  (0) 2025.03.31
RAFT(Reliable, Replicated, and Fault-Tolerant)  (0) 2025.03.31
Blockchain Types(블록체인 종류)  (1) 2025.03.30
Validium  (0) 2025.03.30