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 traditional JPA/JDBC-based microservices. You can easily add Eventuate Tram to your Spring framework-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, and the Spring framework. Eventuate Local as an open-source project that you can run locally.
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: