用途:在决定是否采用 CQRS(命令查询职责分离)时提供决策框架,判断其收益是否值得付出额外复杂度。
主要能力:
- 识别驱动力:读扩展需求、写争用、模型复杂度、审计需要、团队成熟度、延迟容忍度。
- 区分命令所需的一致性保证与读模型可接受最终一致的部分。
- 评估拆分读模型是真正降低复杂度,还是仅重复代码。
- 选择最小模式:统一模型、无事件溯源的 CQRS、带 outbox 的 CQRS,或事件溯源 CQRS。
- 权衡收益与成本。收益包括读优化、命令不变量更简单、独立扩展、更好的审计与投影选项;成本包括投影延迟、更多测试、运维监控、重放工具、模式演进与调试复杂度。
- 识别危险信号:低流量、简单 CRUD、无争用、无审计需求,或团队无法运维异步管道。
使用方式:作为选型评审依据调用。对非平凡的实现、评审或重构工作,在给出最终建议前应阅读 references/details.md,其中包含详细规则、示例、坏味道与迁移说明。
输出内容:建议、被拒备选方案、一致性模型、迁移路径、运维前提。
限制:资料未提供具体安装命令、价格、平台支持或代码示例;实际落地细节需参考其 references/details.md。