다섯 살도 알 수 있게 · SRE
최종 일관성이 뭐예요?
최종 일관성을, 창고에 막 들어온 물건이 재고판에 조금 늦게 반영되는 이야기로 풀어봤어요.
창고엔 막 들어왔는데, 창구 재고판은 아직 옛 숫자예요.손님이 '아까는 매진이라며요?' 하고 물어요.
왜: 복제본끼리 맞추는 데 아주 잠깐 시간이 걸려요.복제본끼리 맞추는 데 아주 잠깐 시간이 걸려요.
바로 안 맞아도 조금만 기다리면 결국엔 다 같은 숫자가 돼요.그 사이엔 살짝 다를 수 있어요.
급하지 않은 정보에 써요안내판 숫자 같은 곳이요
돈 계산엔 안 써요→ 강한 일관성을 써요
얼마나 늦는지 재둬요복제 지연을 알아야 해요
손님에게 미리 안내해요'방금 바뀐 거라 조금 늦을 수 있어요'
시간선: t=0 갱신 → t=1 아직 옛값 → t=3 맞춰짐.시간이 조금 지나야 다 같은 숫자가 돼요.
'결국엔'이 얼마나 걸리는지 모르면 더 헷갈려요.그래서 시간 약속이 필요해요.
한 줄로
최종 일관성 = 복제본끼리 바로는 안 맞아도, 조금 기다리면 결국엔 같은 값이 되는 약속. 그 사이엔 살짝 다를 수 있어요.
강한 일관성(모든 복제본이 늘 같은 값)과 대비되는 개념이에요. 복제 지연(replication lag)이 얼마나 되는지 알아두면, 손님에게 '언제쯤 맞는지' 안내할 수 있어요. 돈을 다루는 곳에는 보통 안 쓰고, 캐시나 조회수 같은 급하지 않은 곳에 써요.
어른들은 이렇게 불러요
- 최종 일관성
Eventual Consistency - 조금 늦게라도 결국 맞춰지는 약속. 급하지 않은 정보에 주로 써요.
- 강한 일관성
Strong Consistency - 늘 최신 정답만 보여주는 약속. 돈 다루는 곳에선 이걸 써요. → 정확함과 항상 열림, 둘 다는 못 가져요
- 복제 지연
Replication Lag - 복제본이 원본을 따라잡는 데 걸리는 시간. → 손님 명부를 두 창고에 똑같이
- 읽기-내-쓰기 일관성
Read-your-writes Consistency - 적어도 내가 바꾼 건 나한테는 바로 보이는 약속. 완전한 최종 일관성보다 손님 혼란이 적어요.
- 벡터 시계
Vector Clock - 어느 복제본이 더 최신인지 가리는 이름표 같은 도구. 자세히는 다른 자료에서 다뤄요 — 이름만 알아둬요.
- 충돌 해결
Conflict Resolution - 서로 다른 값이 생겼을 때 하나로 정리하는 규칙. 나중 값 우선, 사람이 직접 고르기 등 방법이 여러 가지예요.
- 캐시
Caching - 자주 묻는 질문을 미리 적어둔 메모판. → 자주 묻는 질문 미리 적어둔 메모판
- CAP 정리
CAP Theorem - 최종 일관성이 가용성 쪽을 택했을 때 생기는 결과예요. → 정확함과 항상 열림, 둘 다는 못 가져요
다음 이야기
쌍둥이 공원 →