# Event Driven Architecture # Resources - [Cloud Design Patterns - Microsoft Learn](https://learn.microsoft.com/en-us/azure/architecture/patterns/) - [EDA VISUALS Blog](https://eda-visuals.boyney.io/) - [event-driven.io Blog](event-driven.io/en/) ## πŸ“• Articles - [Event-driven architecture style](https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/event-driven) - [Event-Driven Architecture](https://herbertograca.com/2017/10/05/event-driven-architecture/) - [Journey to Event Driven – Part 1: Why Event-First Programming Changes Everything](https://www.confluent.io/blog/journey-to-event-driven-part-1-why-event-first-thinking-changes-everything/) - [Journey to Event Driven – Part 2: Programming Models for the Event-Driven Architecture](https://www.confluent.io/blog/journey-to-event-driven-part-2-programming-models-event-driven-architecture/) - [Journey to Event Driven – Part 3: The Affinity Between Events, Streams and Serverless](https://www.confluent.io/blog/journey-to-event-driven-part-3-affinity-between-events-streams-serverless/) - [Journey to Event Driven – Part 4: Four Pillars of Event Streaming Microservices](https://www.confluent.io/blog/journey-to-event-driven-part-4-four-pillars-of-event-streaming-microservices/) - [Event Driven Systems](https://medium.com/omarelgabrys-blog/event-driven-systems-cdbe5a4b3d04) - [Events on the outside, on the inside and at the core](https://chrisrichardson.net/post/microservices/2021/02/21/events-are-the-core.html) - [Implementing event-based communication between microservices (integration events)](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/multi-container-microservice-net-applications/integration-event-based-microservice-communications) - [Subscribing to events](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/multi-container-microservice-net-applications/subscribe-events) - [Domain events: design and implementation](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation) - [DDD and Messaging Architectures](https://verraes.net/2019/05/ddd-msg-arch/) - [Developing a Successful End-to-End Complex Event Processing Strategy](https://blog.equinix.com/blog/2018/03/28/developing-a-successful-end-to-end-complex-event-processing-strategy/) - [Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer](https://thecloudblog.net/post/event-driven-architecture-with-apache-kafka-for-net-developers-part-1-event-producer/) - [Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer](https://thecloudblog.net/post/event-driven-architecture-with-apache-kafka-for-.net-developers-part-2-event-consumer/) - [Event-Driven Architecture with Apache Kafka for .NET Developers Part 3 - Azure Event Hubs](https://thecloudblog.net/post/event-driven-architecture-with-apache-kafka-for-net-developers-part-3-azure-event-hubs/) - [What do you mean by β€œEvent-Driven”?](https://martinfowler.com/articles/201701-event-driven.html) - [6 Event-Driven Architecture Patterns β€” Part 1](https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part-1-93758b253f47) - [6 Event Driven Architecture Patterns β€” Part 2](https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part-2-455cc73b22e1) - [Event Based Architecture: What do you mean by EVENT?](https://codeopinion.com/event-based-architecture-what-do-you-mean-by-event/) - [How to Build an Event-Driven ASP.NET Core Microservice Architecture](https://itnext.io/how-to-build-an-event-driven-asp-net-core-microservice-architecture-e0ef2976f33f) - [The Outbox Pattern in Event-Driven ASP.NET Core Microservice Architectures](https://itnext.io/the-outbox-pattern-in-event-driven-asp-net-core-microservice-architectures-10b8d9923885) - [Building an Event Driven .NET Application: The Fundamentals](https://wrapt.dev/blog/building-an-event-driven-dotnet-application-the-fundamentals) - [Building an Event Driven .NET Application: Setting Up MassTransit and RabbitMQ](https://wrapt.dev/blog/building-an-event-driven-dotnet-application-setting-up-masstransit-and-rabbitmq) - [The Engineers Guide to Event-Driven Architectures: Benefits and Challenges](https://medium.com/swlh/the-engineers-guide-to-event-driven-architectures-benefits-and-challenges-3e96ded8568b) - [The event notification pattern](https://medium.com/geekculture/the-event-notification-pattern-a62d48519107) - [The 6 Things You Need to Know About Event-Driven Architectures](https://medium.com/swlh/the-6-things-you-need-to-know-about-event-driven-architectures-38e11fdcb5a) - [Event-Driven on Azure: Part 1 – Why you should consider an event-driven architecture](https://techcommunity.microsoft.com/t5/apps-on-azure/event-driven-on-azure-part-1-why-you-should-consider-an-event/ba-p/2106983) - [Event-Driven on Azure: Part 2 – Architecting event driven applications](https://techcommunity.microsoft.com/t5/apps-on-azure/event-driven-on-azure-part-2-architecting-event-driven/ba-p/2414007) - [Introduction to Event-Driven Architecture](https://medium.com/microservicegeeks/introduction-to-event-driven-architecture-e94ef442d824) - [A Visual Introduction to Debezium](https://medium.com/event-driven-utopia/a-visual-introduction-to-debezium-32563e23c6b8) - [A Gentle Introduction to Event-driven Change Data Capture](https://medium.com/event-driven-utopia/a-gentle-introduction-to-event-driven-change-data-capture-683297625f9b) - [Event-driven APIs β€” Understanding the Principles](https://medium.com/event-driven-utopia/event-driven-apis-understanding-the-principles-c3208308d4b2) - [Event-driven APIs in Microservice Architectures](https://github.com/wso2/reference-architecture/blob/master/event-driven-api-architecture.md) - [Event-driven vs REST API interactions](https://apifriends.com/api-management/event-driven-vs-rest-api-interactions/) - [5 Protocols For Event-Driven API Architectures](https://nordicapis.com/5-protocols-for-event-driven-api-architectures/) - [3 Specifications to Consider When Designing Event-Driven Applications](https://medium.com/event-driven-utopia/3-specifications-to-consider-when-designing-event-driven-applications-c12685efd7ad) - [Versatile Events in Event Driven Architecture](https://thecloudblog.net/post/versatile-events-in-event-driven-architecture/) - [Many Faces of Event-driven Architecture](https://medium.com/event-driven-utopia/many-faces-of-event-driven-architecture-660a322ce1ce) - [How to build event-driven projections with Entity Framework](https://event-driven.io/en/how_to_do_events_projections_with_entity_framework/) - [Service-Oriented Architecture vs Event-Driven Architecture](https://www.eventstore.com/blog/service-oriented-architecture-vs-event-driven-architecture) - [Event Driven Architecture β€” 5 Pitfalls to Avoid](https://medium.com/wix-engineering/event-driven-architecture-5-pitfalls-to-avoid-b3ebf885bdb1) - [Microservices to Async Processing Migration at Scale](https://www.infoq.com/articles/microservices-async-migration/) - [How events can help in making the state-based approach efficient](https://event-driven.io/en/how_events_can_help_on_making_state_based_approach_efficient/) - [Mapping event type by convention](https://event-driven.io/en/how_to_map_event_type_by_convention/) - [Understanding Coupling with Event-Driven Architecture](https://medium.com/ssense-tech/understanding-coupling-with-event-driven-architecture-a6b3561b7227) - [DOCUMENT YOUR EVENT-DRIVEN ARCHITECTURE](https://eda-visuals.boyney.io/designs/document-event-driven-architectures) - [Error Handling in Event-Driven Systems](https://levelup.gitconnected.com/error-handling-in-event-driven-systems-1f0a7ef2cfb7) - [Internal and external events, or how to design event-driven API](https://event-driven.io/en/internal_external_events/) - [Event-Driven Architecture: What You Need to Know](https://encore.dev/blog/event-driven-architecture) ⭐ - [Event modelling anti-patterns explained](https://event-driven.io/en/anti-patterns/) - [Event-driven architecture on the modern stack of Java technologies](https://romankudryashov.com/blog/2024/07/event-driven-architecture) - [Simple patterns for events schema versioning](https://event-driven.io/en/simple_events_versioning_patterns/) ⭐ - [Handling Events Coming in an Unknown Order](https://event-driven.io/en/strict_ordering_in_event_handling/) ## πŸ“Ί Videos - [Event-Driven Architecture | EDA | Software Architectural Patterns](https://www.youtube.com/watch?v=gIL8rW_eyww&t=0s) - [Events on the outside, on the inside and at the core](https://www.youtube.com/watch?v=rP-InttAbVY) - [GOTO 2017 β€’ The Many Meanings of Event-Driven Architecture β€’ Martin Fowler](https://www.youtube.com/watch?v=STKCRSUsyP0) - [Event Driven Collaboration](https://skillsmatter.com/skillscasts/13645-event-driven-colloboration) - [Event-Driven Architecture | Event-Driven VS Request-Driven Architecture, When Not To Use Events](https://www.youtube.com/watch?v=U-U3bpljZd0) - [What are the benefits of event-driven architecture? | Example of Stripe Checkout payment fulfillment](https://www.youtube.com/watch?v=9GuAR5gltcE) - [GOTO 2020 β€’ The Power of Event-Driven Systems without Burning your Hands or Budgets β€’ Allard Buijze](https://www.youtube.com/watch?v=Fso2OyguRuQ) - [Core Decisions in Event-Driven Architecture - Duana Stanley](https://www.youtube.com/watch?v=SKXS2h3MdPM) - [Creating event-driven microservices: the why, how and what by Andrew Schofield](https://www.youtube.com/watch?v=ksRCq0BJef8) - [What's an Event Driven System?](https://www.youtube.com/watch?v=rJHTK2TfZ1I) - [Event Based Architecture: What do you mean by EVENT?](https://www.youtube.com/watch?v=qKD2YUTJAXM) - [Event Driven Architecture for Real-Time Web](https://www.youtube.com/watch?v=Tu1GEIhkIqU) - [What is Event Driven Architecture? (EDA - part 1)](https://www.youtube.com/watch?v=DQ5Cbt8DQbM) - [The Saga Pattern in Microservices (EDA - part 2)](https://www.youtube.com/watch?v=C0rGwyJkDTU) - [What is Event Driven Architecture (EDA)?](https://www.youtube.com/watch?v=o2HJCGcYwoU) - [What is Event-driven Change Data Capture Process?](https://www.youtube.com/watch?v=-irkDCmHhKk) - [Event Driven Collaboration [eng] / Ian Cooper](https://www.youtube.com/watch?v=ztRwZ2FySds) - [Gotchas! in Event Driven Architecture - What you need to be aware of](https://www.youtube.com/watch?v=NzEaI1UtiGk) - [Light and Dark Side of the Event-Driven Design β€’ Oskar Dudycz β€’ Devoxx Poland 2021](https://www.youtube.com/watch?v=0pYmuk0-N_4) - [How to DESIGN EVENT-DRIVEN applications! The best method for production applications!](https://www.youtube.com/watch?v=LaxH8GS8l3Q) - [Building a Webhooks System](https://www.youtube.com/watch?v=NuHC5uwbFAc) - [The Dark Side of Events](https://www.youtube.com/watch?v=URYPpY3SgS8) - [Event Driven Architecture in the Real World! 4 Practical Examples](https://www.youtube.com/watch?v=dhdLxW0vDro) - [Event Driven Architecture - Understanding the Basics](https://www.youtube.com/watch?v=LHgCA3XVNkw) - [Event-driven integration #1 - Intro to the transactional outbox pattern [ASPF02O|E040]](https://www.youtube.com/watch?v=suKSJ5DvynA) - [Event-driven integration #2 - Inferring events from EF Core changes [ASPF02O|E041]](https://www.youtube.com/watch?v=rJDZiFJGP90) - [Event-driven integration #3 - Storing events in the outbox table [ASPF02O|E042]](https://www.youtube.com/watch?v=G187r-rzzkk) - [Event-driven integration #4 - Outbox publisher (feat. IHostedService & Channels) [ASPF02O|E043]](https://www.youtube.com/watch?v=xnn6AnYyC5g) - [Event-driven integration #5 - Quick intro to Apache Kafka [ASPF02O|E044]](https://www.youtube.com/watch?v=tUzCxZdKEr4) - [Event-driven integration #6 - Publishing events (feat. Apache Kafka) [ASPF02O|E045]](https://www.youtube.com/watch?v=T2Dy7cH486c) - [Wix.com - 5 Event Driven Architecture Pitfalls!](https://www.youtube.com/watch?v=xfNzGdrxf5w) ## πŸ“š Books - [Designing Event-Driven Systems](https://www.confluent.io/designing-event-driven-systems/) - [Building Event-Driven Microservices: Leveraging Organizational Data at Scale](https://www.amazon.com/Building-Event-Driven-Microservices-Leveraging-Organizational/dp/1492057894) - [Flow Architectures: The Future of Streaming and Event-Driven Integration](https://www.amazon.com/Flow-Architectures-Streaming-Event-Driven-Integration/dp/1492075892/) - [Practical Event-Driven Microservices Architecture: Building Sustainable and Highly Scalable Event-Driven Microservices](https://www.amazon.com/Practical-Event-Driven-Microservices-Architecture-Sustainable/dp/1484274679/) ## πŸš€ Samples - [AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing) - The main objective of this cloud-native project is to represent the state of the art of a distributed, reliable, and highly scalable system by interpreting the most relevant principles of Reactive Domain Driven Design. - [rkudryashov/event-driven-architecture](https://github.com/rkudryashov/event-driven-architecture) Event-driven architecture (Transactional outbox, Inbox, and Saga patterns) on the modern stack of Java technologies.