728x90
일관성(Consistency), 가용성(Availability), 분할 내구성(Partition tolerance)의 세 가지 특성을 설명하는 분산 시스템의 이론입니다.
이 이론은 분산 시스템이 어떻게 동작해야 하는지에 대한 가이드라인을 제공합니다.
일관성(Consistency)
- 모든 노드가 동일한 순간에 동일한 데이터를 볼 수 있어야 합니다.
- 어떤 노드에서 데이터가 갱신되면, 이 변경 사항은 다른 모든 노드에 즉시 반영되어야 합니다.
가용성(Availability)
- 모든 요청은 성공 또는 실패로 완료되어야 하며, 응답이 없는 상태는 없어야 합니다.
- 어떤 노드가 실패하더라도 시스템은 계속해서 작동할 수 있어야 합니다.
분할 내구성(Partition Tolerance)
- 네트워크의 일시적인 분할(네트워크 장애)이 발생하더라도 시스템은 계속해서 동작할 수 있어야 합니다.
- 분할이 발생하면 노드 간 통신이 불가능해질 수 있지만, 시스템은 여전히 일관성과 가용성을 유지해야 합니다.
CAP 이론은 세 가지 특성 중에서 두 가지만을 선택할 수 있다는 개념으로, 현실적인 분산 시스템에서는 이 세 가지 특성을 완벽하게 동시에 만족시키기 어렵습니다.
따라서 시스템 설계 시에 어떤 특성을 중요시하느냐에 따라 CAP 이론을 기반으로 선택을 고려해야 합니다.
728x90
'Server' 카테고리의 다른 글
[비관적인락/PESSIMISTIC]_쓰기락과 읽기락 (0) | 2024.02.06 |
---|---|
[디자인 패턴] 추상 팩토리 패턴 (0) | 2024.02.03 |
낙관적인락(Optimistic Locking) / 비관적인(Pessimistic Locking) (0) | 2023.08.09 |
[Jmeter]부하 테스트_Window 기준 (0) | 2023.05.11 |
Docker 공부 하면서 주로 사용하는 명령어 (0) | 2023.04.16 |