패스잇
시스템 설계 · 심화

분산 시스템에서 강한 일관성(Strong Consistency)과 결과적 일관성(Eventual Consistency) 중 하나를 선택해야 할 때, CAP 이론 외에 비즈니스 요구사항, 시스템 성능, 개발 복잡성 측면에서 어떤 트레이드오프를 고려해야 하는지 구체적인 시나리오를 들어 설명하고, 중간 단계의 일관성 모델(예: Causal, Read-Your-Writes)이 실제 시스템에서 어떻게 활용될 수 있는지 설명해주세요.

힌트 · 강한 일관성은 높은 지연 시간과 가용성 저하를 초래할 수 있고, 결과적 일관성은 개발 복잡성과 데이터 불일치 기간을 관리해야 합니다. 비즈니스 크리티컬리티, 사용자 경험, 시스템 부하를 기준으로 적절한 모델을 선택해야 합니다.

ACIDBASECAP 이론트레이드오프일관성 모델

모범답안

면접관님, 분산 시스템에서 일관성 모델을 선택하는 것은 단순히 CAP 이론만을 고려할 문제는 아니라고 생각합니다. 비즈니스 요구사항, 시스템 성능, 개발 복잡성 등 다양한 요소를 종합적으로 고려해야 합니다.

예를 들어, 은행 계좌 이체 시스템처럼 높은 정확성이 요구되는 경우에는 강한 일관성을 선택해야 합니다. 약간의 지연이나 가용성 저하가 발생하더라도 데이터의 정확성을 보장하는 것이 중요하기 때문입니다. 반면, 소셜 미디어의 게시물 좋아요 수와 같이 상대적으로 중요도가 낮은 데이터는 결과적 일관성을 선택할 수 있습니다. 사용자 경험을 위해 빠른 응답 속도를 유지하고, 데이터 불일치 기간은 감수할 수 있습니다.

중간 단계의 일관성 모델도 유용하게 활용될 수 있습니다. 예를 들어, "Read-Your-Writes" 일관성은 사용자가 자신의 글을 게시한 직후에는 항상 최신 글을 볼 수 있도록 보장합니다. 이는 사용자 경험을 향상시키는 데 도움이 됩니다. "Causal Consistency"는 인과 관계가 있는 이벤트는 순서대로 보이도록 보장하여 데이터의 논리적인 흐름을 유지합니다. 이러한 중간 단계의 일관성 모델은 강한 일관성과 결과적 일관성의 장점을 절충하여 시스템의 요구사항에 맞게 적용할 수 있습니다.

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

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

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

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