Command Query Responsibility Segregation (CQRS)
Last updated
Was this helpful?
Last updated
Was this helpful?
Model for read and write are different
CQRS fits well with . It's common to see CQRS system split into separate services communicating with . This allows these services to easily take advantage of .
Having separate models raises questions about how hard to keep those models consistent, which raises the likelihood of using .
CQRS is useful in some places, but not in others. Many systems do fit a CRUD mental model, and so should be done in that style. CQRS is a significant mental leap for all concerned, so shouldn't be tackled unless the benefit is worth the jump. While I have come across successful uses of CQRS, so far the majority of cases I've run into have not been so good, with CQRS seen as a significant force for getting a software system into serious difficulties.
Main benefit is in handling high performance applications. CQRS allows you to separate the load from reads and writes allowing you to scale each independently.