목적
Outbox Event를 다중 인스턴스 환경에서 안전하게 Claim하고, at-least-once 전달에서도 중복 부작용 없이 처리한다.
범위
FOR UPDATE SKIP LOCKED Event Claim
- claim token, lease renewal/expiry recovery, retry/backoff
- Event type별 handler 경계
- 문서 버전 생성·재인덱싱·삭제·권한 캐시 갱신·모델 활성화 handler
- Handler 작업과 Event 완료 상태의 단일 트랜잭션
- FAILED Event 관리자 재시도 기반
완료 조건
- 여러 Dispatcher가 경쟁해도 Event 소유자는 하나다.
- 같은 Event를 반복 처리해도 Job과 Vector가 중복되지 않는다.
- Handler 실패 시 Event가 PROCESSED로 바뀌지 않는다.
- Lease 만료 후 다른 인스턴스가 안전하게 회수한다.
목적
Outbox Event를 다중 인스턴스 환경에서 안전하게 Claim하고, at-least-once 전달에서도 중복 부작용 없이 처리한다.
범위
FOR UPDATE SKIP LOCKEDEvent Claim완료 조건