Your Idempotency Check Has a Race in It
Idempotency at rest is easy. Two retries arriving at the same moment is the case that breaks the version most teams wrote.
Idempotency at rest is easy. Two retries arriving at the same moment is the case that breaks the version most teams wrote.
Rollback is a database primitive. Distributed systems don't have one, and treating compensation as if they did is how workflows quietly break.
Every outbox explanation assumes the broker is what breaks. Here is what actually happens when the database is the thing that goes away.
Hi! Welcome to my blog
.NET, messaging, and distributed systems - the trade-offs the docs leave out.
Form not loading? Subscribe here.