In this chapter, we covered event-driven architectures and the four common patterns that are used to implement applications using this architectural style. We explained each of these patterns in detail, and wrote some code to understand how they can be implemented using Spring Framework. At the same time, we looked at some use cases where they can be utilized, and learned how they help us to reduce the complexity that is introduced as part of the system requirements that we would eventually have.
As part of these patterns, we talked about event sourcing, which is getting more and more popular within the microservices world, and which we will learn about later in Chapter 8, Microservices.