Search

CAP Theorem

태그

정의

분산 컴퓨팅 시스템이 동시에 충족할 수 없는 세 가지 속성, 즉 일관성(Consistency), 가용성(Availavility), 그리고 네트워크 분할 허용(Partition tolerance)을 설명하는 이론입니다.

속성

1.
일관성(Consistency) 모든 노드가 동일한 시점에서 데이터의 동일한 버전을 보게 하는 것을 의미 즉 모든 클라이언트가 어느 노드를 통해 접근하더라도 항상 최신의 데이터를 조회할 수 있어야 한다.
2.
가용성(Availability) 모든 클라이언트 요청에 대해 항상 응답이 가능하다는 것을 의미 서버가 다운되거나 네트워크 문제 등 어떠한 상황에서도 서비스는 계속 작동
3.
네트워크 분할 허용(Partition tolerance) 네트워크 분할, 즉 노드 간의 통신 장애가 발생하더라도 시스템이 계속 작동할 수 있어야 한다

특징

CAP 이론에 따르면, 위 세 가지 속성 중에서 동시에 단 두 가지만 만족시킬수 있다고 주장
1.
일관성과 가용성을 유지하려면 (CP), 네트워크 파티션이 발생하지 않아야 합니다.
2.
일관성과 네트워크 파티션 허용(CP)은 서비스의 가용성을 포기해야 할 수 있습니다.
3.
마찬가지고, 가용성과 네트워크 파티션 허용(AP)은 데이터 일관성을 포기해야 할 수 있습니다.