패스잇
시스템 설계 · 중급

분산 시스템에서 강한 일관성(Strong Consistency)과 결과적 일관성(Eventual Consistency)의 차이점을 설명하고, 각각 어떤 종류의 애플리케이션에 적합하며 어떤 장단점을 가지는지 비교해 주세요.

힌트 · 강한 일관성은 모든 노드에서 항상 최신 데이터를 보장하지만 성능 저하가 있을 수 있습니다. 결과적 일관성은 성능과 가용성을 높이지만 데이터 불일치 기간이 존재합니다.

원자성CAP 이론ACIDBASE데이터 정합성

모범답안

분산 시스템에서 강한 일관성과 결과적 일관성의 가장 큰 차이는 데이터의 최신성 보장 여부입니다.

강한 일관성은 모든 노드에서 항상 최신 데이터를 보장합니다. 즉, 어떤 노드에서 데이터를 읽든 항상 가장 최근에 쓰여진 값을 얻게 됩니다. 이는 ACID 트랜잭션과 유사하며, 금융 거래나 재고 관리처럼 데이터 정합성이 매우 중요한 애플리케이션에 적합합니다. 하지만 모든 노드의 동기화가 필요하기 때문에 성능 저하와 가용성 문제가 발생할 수 있습니다.

반면 결과적 일관성은 데이터가 결국에는 일관성을 갖게 되지만, 특정 시점에는 노드 간 데이터 불일치가 발생할 수 있습니다. 이는 BASE 원칙과 관련 있으며, 소셜 미디어 피드나 추천 시스템처럼 실시간 최신성이 크게 중요하지 않고 높은 가용성과 성능이 우선시되는 애플리케이션에 적합합니다. 데이터 불일치 기간이 존재한다는 단점이 있습니다.

CAP 이론 관점에서 보면, 강한 일관성은 일관성(Consistency)과 가용성(Availability)을 동시에 만족시키기 어렵고, 결과적 일관성은 가용성을 높이는 대신 일관성을 일부 포기하는 경향이 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 분산 시스템 면접 질문

← 분산 시스템 면접 질문 전체 보기