Thinking in events
Event-Driven Architecture
In an event-driven system, components announce facts (“order placed”) instead of issuing commands, and others react. That loose coupling enables autonomy and real-time flow — at the cost of harder reasoning about consistency and order. This track covers events, streams, event sourcing, and the data mesh.
Mark a topic “learned” on its page and watch the bars fill.
Skill map
Learned nodes light up — the glowing one is your next step. Click any node to jump in.
Foundations
Thinking in events — events vs commands vs messages, event-first design, loose coupling, and the trade-offs of asynchrony.
Events versus commands versus messages — and why a durable, replayable event is a different medium that decouples who owns data from who consumes it.
✦ Complete · ⏱ 5 min 2 · Beginner Event-First DesignMake the event stream the first place shared data lands — aligning bounded contexts to business requirements and adopting the stream-first mindset over application-first thinking.
✦ Complete · ⏱ 4 min 3 · Intermediate Coupling and Asynchrony Trade-offsWhat you gain and pay for choosing asynchronous, decoupled events over synchronous request-response — and why hybrid architectures are the norm.
✦ Complete · ⏱ 4 minEvents, Streams & Patterns
The building blocks — event notification vs event-carried state transfer, event sourcing, streams and logs, and processing topologies.
Notification, event-carried state transfer (ECST), state events, and delta events — what each carries, the coupling it implies, and why state events are the right default for shared data.
✦ Complete · ⏱ 4 min 5 · Intermediate Streams and the LogThe durable append-only log as the substrate of event-driven systems — partitions, offsets, retention, compaction, tombstones, and the Kappa architecture.
✦ Complete · ⏱ 4 min 6 · Intermediate Schemas and EvolutionThe data contract behind every event — explicit schemas, compatibility types (forward, backward, full), the schema registry, and how to handle breaking changes.
✦ Complete · ⏱ 5 min 7 · Advanced Event SourcingRecording immutable, append-only deltas and rebuilding state by replaying them — a powerful pattern inside a bounded context, and a trap when used across domain boundaries.
✦ Complete · ⏱ 4 min 8 · Advanced Event Processing TopologiesStateless and stateful stream processing — transformations, repartitioning and copartitioning, materialized state, changelogs, windowing, and handling out-of-order and late events.
✦ Complete · ⏱ 4 min 9 · Advanced The Outbox and IdempotencyPublishing events atomically with a database write via the transactional outbox, and processing them effectively once with idempotency, deduplication, and transactions.
✦ Complete · ⏱ 4 minData in Motion & Data Mesh
Events as the integration fabric — streaming data platforms, the data mesh’s four principles, data products, and the coming “world wide flow”.
The four principles of data mesh — domain ownership, data as a product, federated governance, and a self-service platform — and why it is as much a social shift as a technical one.
✦ Complete · ⏱ 5 min 11 · Advanced Data ProductsTreating data as a first-class product — its makeup (code, infrastructure, ports), the three alignment types, multimodal access, and the medallion quality model.
✦ Complete · ⏱ 5 min 12 · Advanced Data in Motion and the World Wide FlowUnifying operational and analytical planes with data in motion, integrating with data at rest, and Urquhart's vision of a standards-based World Wide Flow linking activity across organizations.
✦ Complete · ⏱ 4 min⚡ Events decouple in time, space, and team
A producer that emits an event doesn’t know or care who consumes it — consumers come and go without touching the producer. That is event-driven architecture’s superpower and its trap: the same decoupling that buys autonomy makes end-to-end flows invisible. Invest early in schemas and observability.