24. 멱등성과 exactly-once의 착시: at-least-once + dedup 설계
난이도 중 해설 보기 →
문제
문제 24 — 멱등성과 exactly-once의 착시: at-least-once + dedup 설계
분산 게임서버에서 결제 콜백, 메시지 큐 소비, 서버-서버 RPC, 클라이언트 재전송 등 거의 모든 경계는 at-least-once(최소 한 번, 즉 중복 가능) 전달을 전제로 한다.
다음을 설명하라.
- 왜 실무에서 진정한 exactly-once 전달은 사실상 불가능하다고 말하는가? 대신 "effectively-once(사실상 한 번)"를 어떻게 달성하는가?
- 멱등성(idempotency) 이란 무엇이며, 재화 지급 같은 "부수효과가 있는" 연산을 멱등하게 만들려면 어떤 요소(멱등 키, 저장, 원자적 결합)가 필요한가?
- 멱등 키의 보존 기간(TTL) 을 정할 때 반드시 고려해야 하는 것은 무엇인가? TTL이 너무 짧으면 어떤 사고가 나는가?
- "멱등 마커를 Redis에만 저장" vs "지급과 같은 DB 트랜잭션에 UNIQUE 제약으로 저장"의 트레이드오프를 논하라.
- 자연 멱등(예:
SET x=5)과 비자연 멱등(예:x += 5)을 구분하고, 후자를 멱등하게 만드는 방법을 제시하라.
답안 작성
내 답안 · 자동 저장
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.