패스잇
시스템 설계 · 중급

분산 시스템 설계 시 CAP 이론이 제시하는 세 가지 속성(일관성, 가용성, 분할 내성) 중 두 가지를 선택해야 하는 트레이드오프에 대해 설명하고, 실제 시스템에서 이 트레이드오프가 어떻게 나타나는지 구체적인 예를 들어 설명해 주세요.

힌트 · CAP 이론은 분산 환경에서 항상 발생하는 네트워크 분할 상황에서 일관성과 가용성 중 하나를 포기해야 함을 의미합니다. 데이터베이스 유형(NoSQL)이나 시스템 요구사항에 따라 선택이 달라집니다.

CAP 이론일관성(Consistency)가용성(Availability)분할 내성(Partition Tolerance)트레이드오프

모범답안

CAP 이론은 분산 시스템 설계 시 일관성, 가용성, 분할 내성 중 최대 두 가지만 만족할 수 있다는 이론입니다. 분할 내성은 필수적이므로, 결국 일관성과 가용성 사이의 트레이드오프가 발생합니다.

예를 들어, 은행 계좌 시스템을 생각해 봅시다. 네트워크 분할이 발생했을 때, 일관성을 선택하면 (CP) 분할된 네트워크 중 한쪽에서는 계좌 업데이트를 막아 데이터 불일치를 방지할 수 있습니다. 하지만 이 경우 해당 네트워크에서는 계좌 잔액 확인이나 이체 등의 가용성이 떨어지게 됩니다.

반대로 가용성을 선택하면 (AP) 분할된 네트워크 양쪽에서 계좌 업데이트가 가능하도록 허용할 수 있습니다. 이 경우 네트워크가 다시 연결되었을 때 데이터 충돌이 발생할 수 있으며, 데이터 일관성을 보장하기 위한 추가적인 메커니즘이 필요합니다. NoSQL 데이터베이스 중 일부는 이러한 AP 전략을 채택하여 높은 가용성을 확보합니다.

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

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

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

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