如何理解微服务体系结构中的 CQRS
· 阅读需 5 分钟
本文翻译自 How To Understand CQRS In Microservices Architecture,作者 OLEKSII。
在前一篇文章How To Implement Asynchronous Interactions Between Microservices中,讨论了通过消息代理进行微服务通信的一般思想。在本文中,将回顾微服务体系结构的一种特定模式,CQRS(Command Query Responsibility Segregation)。
问题描述
在典型的软件应用程序中,有一个负责写入和读取操作的数据存储。通常,应用程序实现一些 CRUD 操作,并且非常简单。你存储了一些东西并读取了相同的结果。

然而,在复杂的应用程序中,情况并不是那么简单。每个读(read)和写(write)操作都需要很多操作和约束。
例如:
写(write):数据库是以规范化的方式构造的,以消除数据重复并强制约束。读(read):复杂的读取查询需要大量对性能产生负面影响的联接(joins)/联合(unions)/聚合(aggregations)。读(read):优化查询需要索引。写(write):每次