Hi René,
Inputs and questions are always welcome.
I think the source of confusion is me trying to solve a problem by fitting a square peg in a round hole so please let me try again...
We are implementing a microservices architecture where resilience and availability are strong requirements for some of the services.
Scaling an application horizontally without session affinity is one way to achieve such QoS (there are others).
Each service is completely self contained with a separate data store (we are trying to follow Netflix's guidelines
https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices/).
In order to sync all data stores, we would need to sync the read model and to sync the event and saga stores.
The former is easily achieved by propagating domain events via a distributed event bus while the latter contrary to my initial approach should not be done in the same way.
Having every service node in a cluster be an active mirror of each other with independent storage, will remove single point of failures and increase scalability.
ActiveMQ has replicated message store using LevelDB and Zookeeper (
http://activemq.apache.org/replicated-leveldb-store.html) so a solution to my problem could be implementing event and saga stores with similar technologies,
I hope the above sheds some light on my previous post.
Thanks
Alessadro