Alexander Zeitler

Alexander Zeitler

Getting started with CQRS

Published on Wednesday, April 11, 2018

CQRS and Event Sourcing have been there for a while now but especially in 2017 and the first months of 2018 we can see a rapid growth of inquires for CQRS based applications — why is this?

Many cloud based applications are built following the pattern of Microservices and are publishing or consuming events for integration purposes.

“The New Stack” recently released the article “Microservices: It’s All About the Events” and I want to quote this paragraph from the post:

“One of the key things about distributed systems is that you have a whole bunch of independent control loops responsible for their own processing,” she said. One of the favored concepts in this space is Command Query Responsibility Segregation (CQRS), which separates the channels for inserting data into a data store from the channel of querying that data, so that the performance of one is not dependent on another."


At PDMLab, we’re building several SaaS solutions applying the CQRS pattern and recently I’ve been asked, how I got started with CQRS.

Instead of repeating this answer over and over again, I decided to share my resources, that helped me getting into CQRS a few years ago, in this post.

First of all - of course - some videos from Greg Young, who came up with the definition of CQRS.



Greg Young also has a simple CQRS sample on GitHub: [https://github.com/gregoryyoung/m-r](https://github.com/gregoryyoung/m-r)

Several blog posts to get started with CQRS can be found at https://cqrs.wordpress.com/

A book, which helped me getting into CQRS was "CQRS" by Mark Nijhof: https://cqrs.wordpress.com/

Another video worth watching is "Eventually Consistent Distributed Systems with Node.js":


If you're looking for a more complete implementation of a sample application, you should have a look at the CQRS post series from Matthew Jones here (posts) and here (code).

The samples from Matthew are based on CQRSLite, a CQRS framework for .NET Standard which we're using as well.

If you're looking for a CQRS framework for Node.js, you should have a look at wolkenkit.

If you're around in Vancouver these days, you also should attend Lestercon where Adaptech will open source some of their Microservices / CQRS stacks and toolings.

What are your thoughts about "Getting started with CQRS"?
Drop me a line - I'm looking forward to your feedback!
Imprint | Privacy