멱등성 — 두 번 눌러도 한 번만 결제되게 · 멱등 요청에도 재시도 예산이 필요하다 · 퀴즈
멱등 요청에도 재시도 예산이 필요하다 확인
6문항. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
호출마다 5초 timeout, 총 3회면 전체 5초를 보장하는가?
- 아니다. 공통 deadline을 별도로 관리해야 한다
- 항상 5초 안에 끝난다
- 항상 15초를 정확히 쓴다
- 멱등 키가 있으면 0초다
POST에 멱등 키 문자열만 붙이면 안전한가?
- 모든 서버에서 자동으로 안전하다
- 서버가 원자적 중복 제거를 구현해야 한다
- 클라이언트 로그가 있으면 충분하다
- 키 길이가 길기만 하면 된다
남은 예산 2초, Retry-After 7초다. 이 정책의 선택은?
- 2초만 기다리고 재시도
- 0.5초 뒤 무조건 재시도
- 현재 응답을 반환하고 재시도하지 않는다
- 7초를 기다리고 새 5초 예산 발급
지터의 주된 목적은?
- HTTP 오류를 성공으로 변경
- 멱등 키를 암호화
- 전체 deadline을 자동 증가
- 여러 클라이언트의 재시도 시각을 분산
총 시도 최대 3회에서 attempts=3이면?
- 더 호출하지 않는다
- 추가로 3회 재시도한다
- 첫 호출을 빼고 한 번 더 한다
- 대기만 하면 횟수가 초기화된다
send가 영원히 멈춘 동기 함수라면 이 실행기의 deadline만으로 충분한가?
- deadline 변수가 함수를 강제로 죽인다
- 아니다. 어댑터 자체의 timeout도 필요하다
- 지터가 함수를 중단한다
- 최대 횟수만 있으면 즉시 끝난다