다섯 살도 알 수 있게 · SRE

CAP 정리가 뭐예요?

CAP 정리를, 선이 끊긴 두 창고 중 하나를 골라야 하는 이야기로 풀어봤어요.

창고 A창고 B선이 끊겼어요!손님을 받아도 될까요?여긴 숫자가 안 바뀌는데요창고 둘이 서로 연락이 안 돼요 — 손님을 받을지 멈출지 고민해요

창고 둘이 서로 연락이 안 돼요.손님을 받을지 멈출지 고민해요.

정확한 답만일단 열려 있기둘 다 한 번에는 안 돼요연락이 끊기면, 정확함과 열려있기 둘 다는 동시에 못 가져요

왜 어려운가: 둘 다는 동시에 못 가져요.연락이 끊기면, 정확함과 열려있기 둘 다는 동시에 못 가져요.

선이 끊겼어요문 닫아요안내 게시판열림: 계속 받아요숫자는 나중에 맞춰요잠깐은 다를 수 있어요선이 끊기면, 정확함을 택해 문을 닫거나 일단 열어 두고 나중에 맞추거나 둘 중 하나를 골라야 해요

CAP = 선이 끊기면, 정확함과 열려있기 중 하나를 골라야 해요.문을 닫거나(일관성), 일단 열어 두고 나중에 맞추거나(가용성).

평소엔 둘 다 괜찮아요선이 멀쩡할 때는요
선이 끊기면 골라야 해요둘 다는 못 가져요
돈 다루는 곳은 정확함 우선틀린 답보다 잠깐 닫는 게 나아요
보여주기용 정보는 열림 우선조금 늦어도 괜찮아요
정확함(닫기)문 닫아요열려있기(나중에 맞춤)안내 게시판일단 계속 보여줘요몇 분 뒤 맞아요무엇이 더 중요한지에 따라 골라요 — 매표소는 정확함을, 안내판은 열림을

저울 그림: 정확함(닫기) vs 열려있기(나중에 맞춤).매표소는 정확함을, 안내판은 열림을 택해요.

창고 A창고 B평소엔 선이 멀쩡해요이건 선이 끊겼을 때만 하는 선택이에요 — 평소엔 고민할 필요 없어요

이건 선이 끊겼을 때만 하는 선택이에요.평소엔 고민할 필요 없어요.

한 줄로

CAP 정리 = 창고 사이 선이 끊기면, 정확함과 늘 열려있기 둘 다는 동시에 못 가지고 하나를 골라야 한다는 규칙.

Consistency(일관성), Availability(가용성), Partition tolerance(분단 허용)의 앞 글자. 네트워크 파티션(선 끊김)은 현실에서 늘 일어날 수 있다고 가정하므로, 사실상 남은 선택은 일관성이냐 가용성이냐예요. 조금 더 보면 PACELC도 있어요 — 끊기지 않아도 속도와 정확함 사이에서 또 고른다는 확장판.

어른들은 이렇게 불러요

CAP 정리
CAP Theorem
선이 끊기면 셋 중 둘만 가질 수 있다는 규칙. 분산 시스템을 설계할 때 꼭 거쳐가는 질문이에요.
일관성
Consistency (C)
모든 창구가 같은 답을 주는 것. 선이 끊기면 이걸 지키려고 문을 닫기도 해요.
가용성
Availability (A)
항상 응답은 하는 것. 그 답이 최신이 아닐 수도 있어요.
분단 허용
Partition Tolerance (P)
선이 끊겨도 시스템이 계속 도는 것. 현실에선 사실상 늘 가정해야 해요.
네트워크 파티션
Network Partition
창구끼리 연락이 끊기는 사건. CAP에서 선택을 강요하는 바로 그 상황이에요.
PACELC
PACELC
끊기지 않아도 속도냐 정확함이냐 또 고른다는 확장판. CAP은 끊겼을 때만, PACELC은 평소에도 다뤄요.
강한 일관성
Strong Consistency
늘 최신 정답만 보여주는 약속. 돈 다루는 곳에서 주로 선호해요.
최종 일관성
Eventual Consistency
조금 늦게라도 결국 맞춰지는 약속. → 조금 늦게 맞춰지는 재고판
다음 이야기
조금 늦게 맞춰지는 재고판 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →