WEBBOOK CHAPTER

실무 스프링 배치 6: 7장. Writer의 멱등성

7장. Writer의 멱등성

order_id unique key와 UPSERT/MERGE를 사용한다. 단, 무조건 덮어쓰면 과거 감사 정보가 사라질 수 있다. 입력 checksum, 계산 규칙 버전, created/updated 시각을 저장하고 값 충돌 시 실패시키는 정책을 정한다.

DB commit 뒤 프로세스가 죽어도 재시작이 같은 결과를 내야 한다. 이메일·송금 같은 외부 효과는 outbox에 기록한 뒤 별 소비자가 처리하도록 분리한다.