Now I will share a working service example of how to use the event sourcing toolkit starter in practice , in the example I will show the following:
- How to configure and use the event sourcing starter with spring boot web application
- How to implement your aggregate entity using the API of the toolkit
- How to define your entity flow using the execution flow API
- How to configure your entity
- How to configure your Akka system with spring boot
- How to call your aggregates from your service and connect that to your DDD service REST API
- How to use Google Protobuf to serialize your events instead of Java serialization
- The usage of Apache Ignite as your persistence event store with Akka persistence
- In Part 4 we sill cover the summary and possible designs plus some special remarks
Now we will continue in part 2 to explain the starter itself into more details :
Here I am going to share a custom toolkit wrapped as a spring boot with AKKA persistence starter to act as a read made toolkit for event driven asynchronous non blocking flow API , event sourcing and CQRS implementation within spring boot services which can be part of spring cloud micro-services infrastructure . Continue reading
Here we are going to cover how to use Ehcache 3 as a Spring caching in Spring boot based into JSR-107, before we start we need to just highlight what us JSR-107 :
In regards to caching, Spring offers support for two sets of annotations that can be used to implement caching. You have the original Spring annotations and the new JSR-107 annotations, for more information you can check :
In this post we will share a starting project to use Apache ignite data grid an event and snapshot store to mix the benefits of the event sourcing and the data grid .
The implementation is based into the Journal plugin TCK specs provided by Akka persistence.
This is mainly using Apache ignite with akka persistence to provide journal and snapshot store by using the partitioned caches and benefit from the distributed highly available data grid features plus the nice query and data computations features in Ignite that can be used to have normalized views from the event store and do analytical jobs over them despite it is advised to keep write nodes separate from read nodes for better scalability.
When it comes to micro-services, it is really normal to have a configuration server that all your services will connect to fetch its own configuration but what about if you just need to externalize your configuration and make it manageable via source control like Git and your infrastructure is not yet ready for micro-services deployment and operation model.
What if you have spring boot app and you want to use spring cloud config semantic to do the same for you , is it possible to start embedded spring cloud config inside the your spring boot app to fetch its configuration remotely from Git for example ? the answer is yes and i am going to show how :