Consistency(데이터 일관성) : 분산 시스템에 접속하는 모든 클라이언트는 어떤 노드에 접속했느냐에 관계없이 언제나 같은 데이터를 보게 되어야 한다.
Availability(가용성) : 클라이언트는 일부 노드에 장애가 발생하더라도 항상 응답을 받을 수 있어야 함
Partition tolerance(파티션 내성) : 파티션은 두 노드 사이에 통신 장애가 발생하였음을 의미. 네트워크에 파티션이 생기더라도 시스템은 계속 동작하여야 한다.
분류
가용성을 희생하는 CP 시스템, 일관성을 희생하는 AP 시스템, 파티션 내성을 희생하는 CA 시스템으로 나뉠 수 있다. 단, 통상 네트워크 장애는 피할 수 없는 일로 여겨지므로, 분산 시스템은 반드시 파티션 문제를 감내할 수 있도록 설계되어야 한다. 그러므로 실세계에서 CA 시스템은 사용하지 않는다.
가 실용적인 도움이 안되는 거였다구?
ACID에서 C가 구색맞추기였다는 것만큼 충격,,
[참고] 이전에 정리해놓은 CAP 내용
정의
아래 3가지 요구사항을 동시에 만족하는 분산 시스템 설계는 불가능하다.
분류
가용성을 희생하는 CP 시스템, 일관성을 희생하는 AP 시스템, 파티션 내성을 희생하는 CA 시스템으로 나뉠 수 있다. 단, 통상 네트워크 장애는 피할 수 없는 일로 여겨지므로, 분산 시스템은 반드시 파티션 문제를 감내할 수 있도록 설계되어야 한다. 그러므로 실세계에서 CA 시스템은 사용하지 않는다.