Reactive microservices are today's choice to design Cloud Native applications. They promise an increased scalability, resilience and modularity, while allowing separate teams to work on large-scale, polyglot projects. But what about the data?
While is considered bad practice to share a single database between different microservices, multiplying traditional databases behind each microservice makes data management suddenly difficult: no more ACID transactions, no more foreign keys between services, and thus no global consistency: what happens to your system when one of your microservice fails?
Event Sourcing and CQRS, standing for Command Query Responsibility Segregation, is an architectural pattern which can help orchestrate and manage your data among microservices. In this talk, we will see the fundamentals of CQRS, witness how it transforms data architecture in distributed systems and its unexpected benefits!