Pattern 01
Event-driven systems
Most integration pain comes from systems calling each other directly: N sources × M consumers of coupling, failure that cascades, and every launch blocked on every dependency. Event-driven architecture inverts it — producers emit typed domain events onto a backbone, consumers subscribe and maintain their own read models. Nobody polls anybody.
The payoffs are isolation of failure (a slow upstream never takes your front-end down), independent deployability (new consumers subscribe without upstream change requests), and replayability — read models become disposable, rebuilt from history instead of migrated. I've shipped this shape at broadcaster scale (ABC's DigiStream pipeline) and museum scale (the Powerhouse Content API).
- Producer A
- Producer B
- Producer C
- Event busthe contract
- Read modelAPI
- Search index
- Cache / CDN