A curated list of awesome articles and resources to learn about event-driven architecture.
Event-driven architecture is a software architecture approach where services collaborate by publishing and subscribing to events. This eliminates runtime coupling of services.
-
Going “Events-First” for Microservices with Event Storming and DDD - By Russ Miles, October 2016. "It is not the things that matter in early stages of design - it is the things that happen."
-
Events As First-Class Citizens - By Randy Shoup, January 2018. Focusses on the most important part of EDA: The actual events.
-
Why Event-First Programming Changes Everything - By Neil Avery, January 2019. Somewhat lengthy article that's great in painting the "big picture".
-
Introduction to Event-Driven Architecture - By Kacey Bui, February 2021. Good overview of the basics.
-
Event Granularity: Modelling events in event driven applications - By Barry O'Sullivan, December 2017. About finding the right granularity for events.
-
The different types of events in event-driven systems - By Frank de Jonge, February 2022. There are different approaches to classifying events - this is a very good one.
-
Reliable event dispatching using a transactional outbox - By Frank de Jonge, February 2022. Transactional outbox is a crucial pattern for services basing their persistence on CRUD/RDBMS.
-
Event Driven Architecture — 5 Pitfalls to Avoid - By Natan Silnitsky, August 2022. Especially when you only just get started, check this to spare you some frustration later. You might also want to check the "Further Reading" section at the end.
-
5 pitfalls to avoid when implementing an Event-Driven Architecture - By Kris Van Vlaenderen, January 2024. Sounds very similar to the previous one. But it's not a case of duplicate events - it's actually 5 different pieces of advice.
-
Core Decisions in Event-Driven Architecture - By Duana Stanley, October 2019. Overall a great talk, definitely worth watching. Below are some minor issues I have with it.
- The advice to use ids in events to refer to other entities is not wrong, but needs deeper discussion.
- I don't like the term "command events", something is either a command or an event.
- In the end she hints at Kafka as an event store, I don't think that's good idea.
-
Event-Driven Architectures Done Right - By Tim Berglund, May 2021. Good overview, clear presentation.
-
Event Driven Architecture & Governance in Action - By Wim Debreuck, June 2023. A talk that goes beyond the technical fundamentals, into the architecture and design process of event-driven applications. The shown approach might not be universal, but provides important insights. I especially like the clarity around business events.
-
EDA in Practice: Building an eCommerce Platform at Cinch - By Toli Apostolidis, September 2022. You can ignore the first 8 minutes and 15 seconds (in fact the link will skip them), they are mostly promotion for AWS. But from there on follows a good talk on real-world experiences with event-driven architecture.
-
Shifting Gears: From Events to Event-Driven - By Ryan Cormack, May 2024. He tells the story of Motorway's journey to event driven, and also includes a lot of foundational aspects.
- Event Sourcing – What, Why & How - By Anita Kvamme, June 2024. While also event based, Event Sourcing is not the same as Event-Driven Architecture. They complement each other well, but you can also use either without the other. Thankfully, this great overview of Event Sourcing makes that clear at the very start.
Please note that the list is highly curated. The aspiration is to assemble resources that excel in providing clarity around the principles and terminology. As a whole, the collection should provide a comprehensive and consistent overview of the topic. In the spirit of the Awesome Lists Guidelines: "Awesome lists are curations of the best, not everything."
Of course if you think something that belongs in the list is missing, you can suggest its inclusion in an issue or pull request.
To be updated about changes, follow me on Mastodon, Bluesky or LinkedIn. If you find this interesting, you might also like my blog.