ADR-007 — Event-driven order notifications
Why we chose an event bus over synchronous calls to notify downstream services.
Context
When an order is placed, shipping, billing, and analytics all need to know. Calling each one synchronously couples checkout to three downstreams — and they fail together.
SECTION 01 · Options
Options considered
SECTION 02 · Note
Decision
Success
Publish domain events to a managed event bus; downstream services subscribe independently.
SECTION 03 · Trade-offs
Consequences
We gain
Decoupled deploys
Replay for recovery
Independent scaling
We accept
Eventual consistency between services
The bus is now critical infrastructure
| Task | Status | Priority |
|---|---|---|
| Stand up the managed event bus with a dead-letter queue | doing | high |
| Define the OrderPlaced schema and a versioning policy | todo | high |
| Migrate the billing consumer first as the reference | todo | med |