다섯 살도 알 수 있게 · SRE
CAP 정리가 뭐예요?
CAP 정리를, 선이 끊긴 두 창고 중 하나를 골라야 하는 이야기로 풀어봤어요.
창고 둘이 서로 연락이 안 돼요.손님을 받을지 멈출지 고민해요.
왜 어려운가: 둘 다는 동시에 못 가져요.연락이 끊기면, 정확함과 열려있기 둘 다는 동시에 못 가져요.
CAP = 선이 끊기면, 정확함과 열려있기 중 하나를 골라야 해요.문을 닫거나(일관성), 일단 열어 두고 나중에 맞추거나(가용성).
평소엔 둘 다 괜찮아요선이 멀쩡할 때는요
선이 끊기면 골라야 해요둘 다는 못 가져요
돈 다루는 곳은 정확함 우선틀린 답보다 잠깐 닫는 게 나아요
보여주기용 정보는 열림 우선조금 늦어도 괜찮아요
저울 그림: 정확함(닫기) vs 열려있기(나중에 맞춤).매표소는 정확함을, 안내판은 열림을 택해요.
이건 선이 끊겼을 때만 하는 선택이에요.평소엔 고민할 필요 없어요.
한 줄로
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 - 조금 늦게라도 결국 맞춰지는 약속. → 조금 늦게 맞춰지는 재고판
다음 이야기
조금 늦게 맞춰지는 재고판 →