Messaging system as a data store

Building on the idea of event sourcing, we may conclude that a message broker with persistence storage for messages may diminish the need for a dedicated database for individual microservices. Indeed, if all entity update events (including entity snapshots) are stored in the message broker for a sufficient period of time and can be re-read at any moment, the entire state of the system may be defined only by that event. During startup, each service may read recent event history (up to the last snapshot) and recalculate an entity's state in memory. So, a service may function by merely processing new update commands and read queries, and generating and sending entity snapshots to the broker from time to time.

Apache Kafka is a popular distributed message broker with a reliable persistence layer that could be used as a primary and potentially the only data store in the system.

As we can see, nowadays the polyglot persistence and the event-driven architecture based on message brokers are often used in tandem to implement reliable complex workflows in a highly volatile, scalable, ever-changing software system. The rest of the chapter is focused on the persistence mechanisms provided by Spring Framework, while Chapter 8Scaling Up with Cloud Streamsreveals what techniques are available in the Spring ecosystem for implementing efficient applications based on event-driven architecture.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.239.44