Skip to content

Lease 기반 멱등 Sync Dispatcher 구현 #163

Description

@Gimini-3

목적

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 만료 후 다른 인스턴스가 안전하게 회수한다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions