Microservices accelerate development and enable businesses to innovate faster and stay ahead of the competition. But one major challenge with the microservices architecture is the management of distributed data. Each microservice has its own private database. It is difficult to implement business transactions that maintain data consistency across multiple services as well as queries that retrieve data from multiple services.
Eventuate™ is a family of platforms that solve the distributed data management problems inherent in a microservice architecture enabling you focus on your business logic.
Eventuate™ consists of:
Eventuate Tram - a platform for services that use traditional (e.g. JPA/JDBC) persistence. You can easily add Eventuate Tram to your Spring Boot-based and Micronaut-based microservices without having to rewrite your business logic.
Eventuate Local - an event sourcing platform. Event sourcing is a different programming model that has some advantages including automatic publishing of events when data changes, reliable auditing of all updates, and built-in support for temporal queries Eventuate Local consists of a scalable, distributed event store and client libraries for various languages and frameworks including Java, Scala, the Spring and Micronaut frameworks.
Implement commands that update data in multiple microservices by using Sagas, which are sequences of local transactions coordinated using messages
Implement queries that retrieve data from multiple services by using CQRS views, which are easily queryable replicas maintained using events
To find out more about how Eventuate simplifies the development of microservices: