Idempotency — Two Clicks, One Charge
Two customers reserved the last item: review
한국어 원문으로 표시합니다.
마지막 재고 1개를 두 요청이 동시에 예약하면?
- 둘 다 성공
- 둘 다 항상 실패
- 하나만 성공
- 재고가 자동 증가
같은 예약 id와 수량을 다시 보내면?
- 재고를 다시 감소
- 수량을 두 배로 합침
- 새 id 자동 발급
- 추가 재고 감소 없이 중복 처리
예약 취소를 두 번 호출했을 때 재고 반환 횟수는?
- 한 번
- 두 번
- 호출마다 증가
- 항상 없음
예약 기록 삽입 후 장애를 주입하면?
- 기록만 보존
- 기록과 재고 변경 모두 롤백
- 재고만 감소
- 취소 상태로 강제 변경
취소된 예약 id를 다시 사용하면 이 계약은?
- 언제나 새 예약으로 인정
- 취소를 지운다
- 같은 예약의 이력으로 남기고 새 차감하지 않는다
- 재고를 음수로 만든다
조회 API가 보여준 재고만 믿고 결제하면 안 되는 이유는?
- 조회는 항상 거짓이다
- 정수 비교가 불가능하다
- SQLite가 읽기를 지원하지 않는다
- 조회와 쓰기 사이에 다른 예약이 들어올 수 있다