Transactional Outbox: Dual-Write, Idempotent Consumers
Closing dual-write with an outbox, suppressing the at-least-once repeats it creates, and encrypting the personal data inside the event.
Tag
6 entries: Note, System, Tool.
Closing dual-write with an outbox, suppressing the at-least-once repeats it creates, and encrypting the personal data inside the event.
Naive replay re-poisons the queue or double-fires side effects. The safe shape: reset, dry-run, sandbox-first, select.
A message's data is an untyped contract the queue won't check. Validate it at the edge: producer before publish, consumer as a safety net.
Diff two JSON Schemas: is the change backward-compatible, or a breaking one that needs a new message version? Runs in your browser.
At-least-once delivery means a handler will see the same message twice. The idempotency key, where it comes from, and the dedupe that survives a crash
Compute an exponential backoff schedule and see how full, equal, and decorrelated jitter spread the retries. Client-side, nothing is retried.