분산 시스템엔 많은 것이 잘못될 수 있는데, 결함을 견뎌낼(tolerating) 방법을 찾아야 한다.
분산 시스템에서 가장 중요한 추사황 중 하나는 합의, 즉 모든 노드가 어떤 것에 동의하게 만드는 것이다.
일관성 보장
- 강한 보장을 제공하는 시스템은 성능이 나쁘거나 약한 보장을 제공하는 시스템보다 내결함성이 약할지도 모른다.
선형성
기본 아이디어는 시스템에 데이터 복사본이 하나만 있고 그 데이터를 대상으로 수행하는 모든 연산은 원자적인 것처럼 보이게 만드는 것이다.
- 원자적 일관성
- 강한 일관성
- 즉각 일관성
- 외부 일관성
CAP 정리
- CAP 주위엔 많은 오해와 혼란이 있으며 시스템을 더 잘 이해하는데 도움을 주지 않으므로 피하는게 최선이다.