【系统架构设计百科】CQRS:读写分离的架构哲学
CQRS 不是 Event Sourcing 的附属品——本文从 Greg Young 的原始定义出发,拆解简单 CQRS 与完整 CQRS 的区别、读模型物化视图策略、最终一致性的用户体验设计,以及不和 Event Sourcing 绑定时 CQRS 仍然有价值的场景。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 3 篇文章 · 返回首页
CQRS 不是 Event Sourcing 的附属品——本文从 Greg Young 的原始定义出发,拆解简单 CQRS 与完整 CQRS 的区别、读模型物化视图策略、最终一致性的用户体验设计,以及不和 Event Sourcing 绑定时 CQRS 仍然有价值的场景。
某金融交易平台在引入事件溯源(Event Sourcing)后,获得了完整的审计日志和时间旅行能力。但三个月后,团队发现一些事件流已经积累了超过 10 万条事件,聚合加载时间从毫秒级退化到秒级。更麻烦的是,业务迭代中修改了事件结构,旧版本事件无法反序列化。这些问题不是事件溯源本身的缺陷,而是工程实践上的坑——教科书通常…
事件通知、事件携带状态转移、事件溯源三种模式经常被混为一谈,但它们在耦合度、数据一致性、存储成本和调试难度上有本质差异。本文基于 Martin Fowler 的 EDA 分类,拆解三种模式的机制与取舍,分析 Kafka 在事件驱动架构中的角色与局限,讨论事件排序的工程挑战和 schema 演进策略。