CAP이론이란?
네트워크로 연결된 분산 시스템에서 Consistency (일관성), Availability (가용성), Partitions Tolerance (분리 내구성) 이 3가지 속성을 모두 가지는 것은 불가능하다는 이론이다. 2개만 선택해라..
Consistency (일관성)
- 여기서 말하는 일관성은 결과적 일관성이 아니다.
- 데이터를 요청할때 언제나 가장 최신의 데이터를 리턴해야 한다.
- 즉, 각 노드가 동기화되기 전에 반환하는 게 아니고 모두 동기화 후에 반환을 하던가 실패를 하던가.
- 모든 노드가 같은 시간에 같은 데이터를 보여줘야 한다.
Availability (가용성)
- 어떤 노드에 장애가 생겨도 항상 서비스가 가능해야 한다.
- DB에 대한 모든 동작은 성공적으로 리턴되어야 한다.
Partitions Tolerance (분리 내구성)
- 노드 간 통신에 문제가 생겨 메시지를 주고받지 못하는 상황이 와도 시스템은 동작해야 한다.