Introduction
Get an overview of what we’ll cover in this chapter and a brief introduction to event-driven architecture.
We'll cover the following
Event-driven architecture (EDA) is the foundational design of an application’s communication of state changes around an asynchronous exchange of messages called events. The architecture allows applications to be developed as a highly distributed and loosely coupled organization of components. Probably predominantly, the most well-known arrangement of components today is the microservices architecture for applications.
What is an event?
Our world is made up of events—they’re happening everywhere around us. A simple act of waking up in the morning becomes an event the instant it occurs. The same goes for the act of purchasing a course. Whether or not it was recorded that way in some database or somewhere, it was considered an event. Because it occurred, several other operations might have sprung from it.
Just as companies looked at microservices a decade ago to address issues such as web scale, EDA is gaining interest, and proponents are suggesting continuing that journey to help with global scale.
Chapter overview
This chapter aims to introduce us to the concepts and components of EDA and its applications that we’ll be using to demonstrate what EDA has to offer. We’ll also be taking a grounded look at the benefits and reasons to use EDA and the challenges we’ll likely encounter when starting a new greenfield project or adding select concepts and components to an existing project.
Whether we’re looking to start a new project with an event-driven approach or break up a monolithic application into modules or further into microservices, the provided information and patterns will equip us to implement EDA where we need it.