Command and Query Responsibility Segregation (CQRS) is a software pattern where there is a separation between queries (read) and commands (modify). The pattern, like many Object Oriented Design (OOD) patterns applies well to service oriented architecture (SOA) in building services that are scalable.
In a series of posts, CQRS is explored in how it relates to SOA and a practical implementation is used to illustrate the advantages and disadvantages:
- CQRS in Azure – Part 1 defines CQRS, the advantages and disadvantages
- CQRS in Azure – Part 2 looks into the disadvantages of adoption and staleness
- CQRS in Azure – Part 3 explores the challenges of read and write consistency
- CQRS in Azure – Part 4 discusses the advantages of applying the pattern
As part of the series, an MSDN project was created to illustrate the pattern applied at the service level.