패스잇
시스템 설계 · 중급

CAP 이론이란 무엇이며, 실제 분산 시스템 설계에 어떻게 적용되나요?

힌트 · Consistency, Availability, Partition Tolerance 중 2개만 동시에 보장 가능함과 CP/AP 시스템 예시를 설명해보세요.

CAP 이론일관성(Consistency)가용성(Availability)분할 내성(Partition Tolerance)Trade-off

모범답안

CAP 이론은 분산 시스템 설계 시 일관성(Consistency), 가용성(Availability), 분할 내성(Partition Tolerance) 이 세 가지 속성을 모두 만족할 수 없다는 이론입니다. 즉, 셋 중 두 가지만 선택해야 합니다.

일관성은 모든 노드가 같은 시간에 동일한 데이터를 보는 것을 의미하고, 가용성은 모든 요청에 대해 응답을 받을 수 있음을 의미합니다. 분할 내성은 네트워크 파티션이 발생하더라도 시스템이 계속 작동해야 함을 의미합니다.

실제 시스템에서는 분할 내성이 필수적이므로, 보통 일관성과 가용성 사이에서 트레이드 오프를 합니다. 예를 들어, 은행 계좌 시스템은 CP(일관성, 분할 내성) 시스템으로 설계하여 데이터의 정확성을 중요시합니다. 반면, 소셜 미디어 서비스는 AP(가용성, 분할 내성) 시스템으로 설계하여 사용자 경험을 우선시합니다. 상황에 따라 적절한 속성을 선택하는 것이 중요합니다.

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

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

함께 보는 시스템 설계 면접 질문

← 시스템 설계 면접 질문 전체 보기