Summary
We have explored some design patterns, such as event-driven architecture patterns, Command Query Responsibility Segregation, Event Sourcing, and Eventual consistency. Spring Cloud Stream provides another way to create a distributed application based on the event-driven and message-driven architecture.
We created a system based on the event-driven architecture with multiple microservices. We used Kafka as a message broker and Spring Cloud Stream to provide support for the Kafka and RabbitMQ binder. But, in this chapter, we implemented this event-driven system using Kafka.
In the next chapter, we will explore and implement a Resilient System using Hystrix and Turbine.