An Architecture with CQRS and Event Sourcing
Eugen Paraschiv is an engineer with a passion for Java, Spring, REST, TDD, and more recently producing great video. He spends most of his time teaching, writing, curating the weekly review and wearing many other hats on baeldung.com. He spoke at many JUG meetings, the Spring IO in Barcelona, as well as several live webinars (he holds one every two weeks). Right now he is working on a course (REST With Spring).
In this talk, I will share my experience building and deploying an event-sourced, CQRS Spring application. You will learn about the challenges of separating the update model from the query model in a complex domain, how commands naturally lead to events and to an event based system, and how these events get projected into useful, eventually consistent views. You will also learn about using the right type of persistence for each projection – Spring Data JPA for some, Spring Data Elasticsearch for others, etc. Finally – we’ll see how Projections can be separated from one another and run independently in separate Spring Contexts, separate processes and even separate hardware. The fact that Projections are just another name for Microservices is just gravy.