Optimization
분산 시스템 설계시 고려할 것 - CAP 정리
팅리엔
2022. 3. 13. 00:34
CAP 정리 (Consistency, Availavility, Partition Tolerance theorem)
분산 시스템을 설계할 때는 CAP 정리를 이해하고 있어야 한다.
Consistency 데이터 일관성
분산 시스템의 어느 노드에 접속하더라도 같은 데이터를 응답받아야 한다.
Availability 가용성
분산 시스템의 어느 노드에 장애가 발생하더라도 항상 응답받아야 한다.
Partition Tolerance 파티션 감내
분산 시스템의 두 노드 사이에 통신 장애가 발생하더라도 시스템은 계속 동작하여야 한다.
세 가지 요구사항을 동시에 만족하는 분산 시스템을 설계하는 것은 불가능하다.
요구사항 가운데 어느 두 가지를 만족시킬 것인지 결정해야 한다.
(+ 일관성과 가용성을 동시에 만족하는 시스템은 현실 세계에서 존재하지 않는다.)
은행권 시스템은 보통 데이터 일관성을 양보하지 않는다.
이런 시스템은 장애가 해결될 때까지 오류를 반환해야 한다.