The Command Query Responsibility Segregation Pattern is an architectural pattern to help build loosely coupled, modular, scalable, and event-based applications. It advocates the usage of two separate models within an application - one model for processing operations that validate and change state i.e. Commands, the other model for processing operations that query state i.e. Queries. The Event Sourcing pattern advocates the building of applications as a System of Events rather than as a System of State.
Both are extremely powerful patterns but at the same time very complex to implement due to the inherently distributed nature. Applications wanting to adopt these patterns would need to implement various infrastructural aspects which this pattern requires thereby introducing a lot of accidental complexity. It is better off to utilize tools that provide a robust implementation of the CQRS pattern freeing developers to do what they know best - implement business logic.
This book does exactly that. Taking a real-life application (Hotel Booking), we will build a complete CQRS and Event Sourcing based implementation utilizing the Axon Framework. Along the way, we will also see how to utilize supporting patterns such as Event Modeling / Domain Driven Design / Reactive Microservices. This book will also compare the approaches with other tools such as vLingo / Akka / Spring Boot and Event Store.
At the end of the book, you will have a complete working knowledge of the fundamentals of the CQRS pattern and its applicability to real-life projects