CQRS 架构图模板
绘制 CQRS 架构——命令侧、查询侧、事件总线,以及构建读模型的投影器。
使用此模板模板亮点
- 命令侧:处理器、写模型、事件存储
- 查询侧:处理器、读模型、投影器
- 事件总线连接两侧、提供最终一致性
这个模板适合做什么
CQRS(命令查询职责分离)架构图展示了系统如何通过两个独立模型把写与读分开,并通过事件连接。本模板呈现典型 CQRS 形态:处理写的命令侧(命令处理器 + 写模型,通常事件溯源)、事件存储、发布事件的事件总线、监听并更新读模型的投影器,以及从优化后的读模型提供读的查询侧。适合用于设计 CQRS 服务、解释写读之间的最终一致性,或说明单个 API 端点如何在后端分为两条路径。
适用场景
- 在写第一个命令处理器之前,设计 CQRS 服务。
- 解释为什么写走一条路径、读走另一条。
- 整理从事件构建读模型的投影步骤文档。
- 规划命令侧与查询侧之间的最终一致性边界。
- 定位陈旧读:是投影器滞后、失败还是落后?
- 对比 CQRS 与单模型(CRUD)方案,论证复杂度合理。
使用步骤
- 1从客户端和把命令与查询分发的 API 网关开始。
- 2绘制命令侧:命令处理器、写模型、事件存储。
- 3绘制查询侧:查询处理器、读模型、投影器。
- 4在两者之间添加从存储发布事件的事件总线。
- 5把投影器连到总线、再连到读模型。
- 6标注一致性边界——写读之间最终一致。
简单示例
使用 CQRS 的订单服务
客户端 → API → 命令处理器 → 写模型 → 事件存储
事件存储 → 事件总线(OrderPlaced、OrderShipped)
投影器消费事件 → 更新读模型
客户端 → API → 查询处理器 → 读模型(无 JOIN、索引化)
写读独立扩展、独立部署
在线开始编辑
在 CodePic 中打开模板后,替换示例节点,就能很快整理成自己的学习导图。


