'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선
읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.
시스템 설계의 세 가지 차원: 일관성 모델
언젠가 읽기
2025. 2. 12. PM 5:00:34
시스템 설계의 세 가지 차원: 일관성 모델
시스템 설계의 기본적인 차원을 탐구하는 새로운 시리즈에 오신 것을 환영합니다! 이전 시리즈에서는 비기능적 요구사항(NFRs)을 살펴보았으며, 이번에는 시스템들이 실제로 어떻게 상호작용하고 협력하는지에 대해 논의할 것입니다. 오늘은 첫 번째 차원인
일관성(consistency)
에 대해 알아보겠습니다.
일관성 모델 이해하기
일관성은 일상 생활에서의 다양한 커뮤니케이션 형태와 비슷하게 생각할 수 있습니다. 예를 들어, 전화 통화는 양측이 즉시 동일한 정보를 공유하며 동기화된 커뮤니케이션을 보장합니다(원자적 일관성). 반면, 이메일이나 메시지는 나중에 읽고 응답할 수 있으며, 정보가 결국 모든 참여자에게 도달하게 됩니다(최종 일관성). 이러한 원칙은 분산 시스템이 데이터 업데이트와 정보 공유를 처리하는 방식에도 동일하게 적용됩니다.
일관성의 두 얼굴
원자적 일관성 🎯
원자적 일관성은 모든 시스템 노드가 데이터의 동일한 값을 동시에 보게 되는 것을 보장합니다. 이는 마치 전화 통화 중에 양측이 동일한 정보를 실시간으로 주고받는 것과 같습니다. 데이터 업데이트가 즉시 모든 사용자에게 반영되므로, 일관된 상태를 유지합니다.
최종 일관성 🕊️
최종 일관성은 데이터 업데이트가 시간이 지나면서 모든 노드에 전파되어 결국 모든 사용자에게 동일한 정보를 제공하게 되는 모델입니다. 이는 이메일이나 메시지를 통해 정보를 공유하는 것과 유사합니다. 즉각적인 동기화는 이루어지지 않지만, 시간이 지나면 모든 참여자가 일관된 정보를 갖게 됩니다.
일관성 모델의 중요성
일관성 모델은 시스템의 신뢰성과 사용자 경험에 직접적인 영향을 미칩니다. 원자적 일관성을 제공하는 시스템은 실시간 데이터 동기화가 필요한 애플리케이션에 적합하며, 최종 일관성은 대규모 분산 시스템에서 성능과 확장성을 우선시할 때 유용합니다. 적절한 일관성 모델을 선택하는 것은 시스템 설계 시 중요한 결정 요소입니다.
함께 읽으면 좋은 참고 자료
-
CAP Theorem Explained
-
Distributed Systems: Principles and Paradigms
-
Designing Data-Intensive Applications