Event Driven Architecture
Event-driven architecture builds a system around things that happen. A module records a fact, like “order placed”, and other modules react to it, instead of one module calling all the others. You’ll understand what that gives you, what it asks of you, and how it lets teams work more independently.
The first article separates designing the flow from the plumbing that delivers messages and from the tools, and explains why you decide them in that order. The second shows how events make the dependencies between modules visible. The third shows a payment module that serves many parts of the system without knowing about any of them. The fourth shows how users can keep working while their files upload, accepting that the data is briefly out of sync. That trade-off is called eventual consistency.
Read them in order. The first two are short; the last two are longer and include code.

Don't let Event-Driven Architecture buzzwords fool you
2023-02-26I see a lot of new terms like Command-Event, Event-Based Compute, etc., presented around Event-Driven Architecture. Let me clear that up because there are no such things…
How using events helps in a teams' autonomy
2021-04-28Autonomy is the Holy Grail for the management of multiple teams. At least that’s how it’s perceived; it’s not easy to get the right balance. I’ve written in the past on…
Predictable Identifiers: Enabling True Module Autonomy in Distributed Systems
2025-06-30In distributed systems, we face a fundamental tension between module communication and module autonomy. Our modules need to exchange information and coordinate actions…
Dealing with Eventual Consistency, and Causal Consistency using Predictable Identifiers
2025-07-07Users want to attach files and keep working. Systems need time to upload, store those files and link it to the specific process or entity. You have two choices: block the…