Skip to main content

Replay safety

Replay can come from legitimate retries, internal reprocessing or your own queueing layer.

Minimum defense

  • Unique key per event_id
  • Transactional state update
  • External side effects only after persistence
  • Compensation jobs for out-of-order events

Never confuse a repeated event with an invalid event. The correct behavior is to recognize it, log it and avoid duplicate side effects.

Did this page unblock the next step?

Feedback stays inside the docs flow and should never include customer or card data.