패스잇
시스템 설계 · 심화

대규모 분산 시스템에서 데이터 일관성을 보장하기 위해 Paxos나 Raft와 같은 분산 합의(Distributed Consensus) 알고리즘을 적용해야 하는 상황과 그 한계점은 무엇이며, 실제 시스템 설계 시 어떤 트레이드오프를 고려해야 하는지 설명해 주세요.

힌트 · CAP 이론의 C를 보장하기 위한 비용과 복잡성, 그리고 성능 저하를 고려해야 합니다. 시스템의 요구 사항에 따라 최종적 일관성과의 균형점을 찾는 것이 중요합니다.

CAP 이론합의 알고리즘리더 선출내결함성성능 병목

모범답안

분산 시스템에서 데이터 일관성을 위해 Paxos나 Raft 같은 합의 알고리즘을 적용하는 것은 데이터 정합성이 중요한 경우에 필요합니다. 예를 들어 분산 데이터베이스의 리더 선출이나 분산 트랜잭션 처리 시 데이터 불일치를 막기 위해 사용될 수 있습니다.

하지만 합의 알고리즘은 CAP 이론에서 C(일관성)를 강하게 보장하려 하기 때문에 가용성(A)이나 파티션 내성(P)에 영향을 줄 수 있습니다. 리더 선출 과정에서 지연이 발생하거나, 과반수의 노드가 응답해야 하기 때문에 네트워크 장애 상황에서 시스템 전체의 성능 저하를 야기할 수 있습니다.

실제 시스템 설계 시에는 데이터의 중요도와 시스템의 가용성 요구 사항을 고려하여 트레이드오프를 결정해야 합니다. 모든 데이터에 강력한 일관성이 필요한 것이 아니라면, 최종적 일관성 모델을 적용하여 성능을 개선할 수 있습니다. 예를 들어, 사용자 프로필 정보는 최종적 일관성을 허용하고, 금융 거래 정보는 합의 알고리즘을 통해 강력한 일관성을 보장하는 방식으로 설계할 수 있습니다.

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

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

함께 보는 대용량 트래픽 설계 면접 질문

← 대용량 트래픽 설계 면접 질문 전체 보기