Server

CAP 이론 (Consistency, Availability, Partition Tolerance)

Raconer 2024. 2. 3. 15:32
728x90

분산 시스템에서 동시에 만족시키기 어려운 세 가지 속성을 정의한 이론입니다.


✅ 개념 요약

속성 설명
일관성 (Consistency) 모든 노드가 동일한 시점에 동일한 데이터를 반환해야 합니다.
데이터가 업데이트되면, 모든 노드에 즉시 반영되어야 함
가용성 (Availability) 모든 요청에 대해 응답을 보장해야 합니다.
어떤 노드가 다운되더라도 시스템은 계속 작동해야 함
분할 내구성 (Partition Tolerance) 네트워크 장애로 노드 간 통신이 불가능해져도 시스템은 계속 동작해야 함

⚠ 핵심 정리

  • 세 가지를 동시에 완벽하게 만족하는 것은 불가능
  • 현실의 분산 시스템은 항상 Partition Tolerance(P)를 고려해야 함
  • 따라서 결국 Consistency vs Availability 중 하나를 선택해야 하는 상황이 많음

🧠 시스템 설계 시 선택 예시

시스템 유형 선택 특성 설명
은행 시스템 C + P 일관성과 분할 내구성을 유지 (입출금 금액 정확성 우선)
SNS 타임라인 A + P 가용성과 분할 내구성을 유지 (조금 늦어도 게시글이 안 끊기게)
캐시 시스템 (ex. Redis) A + P 빠른 응답 우선, 일관성은 약하게 허용

📌 결론

CAP 이론은 분산 시스템에서 트레이드오프를 이해하고, 설계 목표에 따라 어떤 특성을 우선시할지를 결정하는 데 필수적인 기준입니다.
```

728x90