Failed CQRS implement in Microservice architecture.
       CQRS is a useful pattern when having a complex business application where reading and writing have separate requirements. For an example, Write wants to maintain a model in normalised form in a RDB but Read can represent model as document in a Document database. But it is not easy to get head around about CQRS. It comes with  Reads, Writes, Events, Commands, DDD, Event Sourcing, Eventual Consistency . The common way of implementing CQRS is by creating two services communicating with Events.          Our CQRS Implementation   In order to bring CQRS into our custom framework we used  Axon framework.  At time when we evaluated CQRS frameworks, Axon was the easiest way to work with and had good support for  Spring Boot  framework. This is how Axon was used.  CQRS implementation  We ended up creating two separate services for Writes and Reads. These two services connected via RabbitMQ.   Write Service   Write service handles all the Updates. We did not try to ...