深入探索 CQRS 与微服务架构:原理、应用与实践
1. 引入 CQRS
将事件驱动架构和事件溯源的理念相结合,能够构建出水平可扩展的事件溯源系统。事件驱动架构通过原子事件进行通信,借助事件作为系统的真实来源,运用事件溯源来构建系统,可融合两者的优势。
CQRS(Command Query Responsibility Segregation,命令查询职责分离)原则用于对基于事件的领域模型的应用程序进行建模,它源于事件驱动架构,并基于事件溯源。
2. CQRS 原则
- 命令(Command) :通过产生事件来改变系统状态,不允许返回数据。命令要么成功并产生零个或多个事件,要么失败并返回错误,且事件的产生是可靠的。例如在 Java 代码中,类似
void doSomething()方法,用于改变状态。 - 查询(Query) :检索并返回数据,对系统无副作用,不允许修改状态。如 Java 中的
String getSomething()方法,不影响系统状态。
| 类型 | 作用 | 代码示例 |
|---|---|---|
| 命令 | 改变系统状态,产生事件 | void doSomething() | </
超级会员免费看
订阅专栏 解锁全文
119

被折叠的 条评论
为什么被折叠?



