CAP Theorem
분산 시스템은 Consistency, Availability, Partition Tolerance 세 속성 중 **동시에 둘만** 보장할 수 있다는 정리(Brewer, 2000). 네트워크 분할은 필연적 → P는 포기 불가. **CP vs AP**가 실질적 선택:...
sys.entry
M
Me
hyunyoun's Blog
system-architecture-distributed-systems2 min read
CAP Theorem
분산 시스템은 Consistency, Availability, Partition Tolerance 세 속성 중 동시에 둘만 보장할 수 있다는 정리(Brewer, 2000).
세 속성 정의
C — Consistency: 모든 노드가 동일한 최신 데이터를 반환. 읽기는 최근 쓰기를 반영.
A — Availability: 장애 노드가 있어도 모든 요청에 (오래된 데이터라도) 응답.
P — Partition Tolerance: 네트워크 분할(일부 노드 간 통신 단절) 상황에서도 동작.
실제 선택
네트워크 분할은 필연적 → P는 포기 불가. CP vs AP가 실질적 선택:
PACELC 확장
분할 없는 정상 상태에서도 Latency vs Consistency 트레이드오프 존재:
CODE
분할 시: P → A or C
정상 시: E (Else) → L (Latency) or C (Consistency)
연결 노트
- ZK-CQRS-Pattern — AP 선택 시 Read Model의 Eventual Consistency를 명문화
- ZK-Event-Sourcing — 이벤트 로그는 CP에 가까운 일관성 보장 설계
- ZK-Consistent-Hashing — AP 시스템에서 노드 분할 시 데이터 재분배 최소화
- ZK-SLI-SLO-Error-Budget — 가용성 SLO가 CP/AP 선택의 비즈니스 기준