Idempotency — A Practical Guide for Backend Engineers
Why every non-trivial backend needs idempotency keys, the common designs, and the mistakes that let duplicates slip through anyway.
Category
Why every non-trivial backend needs idempotency keys, the common designs, and the mistakes that let duplicates slip through anyway.
Why "save to DB, then publish to Kafka" is almost always wrong, and the outbox pattern that fixes it — with real Java code, schema, and production considerations.
How to coordinate operations across services that each have their own database. Orchestrated vs choreographed sagas, compensating actions, and when to use which.
The things nobody tells you about event sourcing until you've run it in production — snapshot strategies, schema evolution, event stream hygiene, and when to walk away.
Storing events instead of state — what it is, what it buys you, and the situations where the complexity is worth the audit trail and replayability.
Command Query Responsibility Segregation explained from first principles — the problem it solves, when it's overkill, and what it looks like in real Java systems.