직접 경험
사이드 프로젝트에서 회계 시스템과 PG사 API를 연동하는 작업을 담당했습니다. 테스트 환경에서는 잘 됐는데 실제 배포 후 중복 결제가 간헐적으로 발생했습니다. 추적해보니 멱등성 키 없이 재시도 로직을 짠 게 원인이었습니다. 트랜잭션 ID를 요청마다 생성해 DB에 기록하고, 동일 키가 들어오면 이전 결과를 그대로 반환하도록 고쳤습니다. 재시도에는 지수 백오프를 붙여 서버 부하도 줄였습니다. 이후 한 달간 중복 결제 0건을 유지했고, 팀에서 API 연동 가이드라인을 만들 때 이 경험을 사례로 넣었습니다. 이후 팀 내에서 멱등성 설계를 첫 번째 항목으로 넣었고, 재시도 로직은 항상 백오프와 함께 고려하도록 공유했습니다. 외부 금융 API는 처음부터 멱등성을 설계에 포함해야 한다는 걸 직접 겪으며 배웠습니다.