开篇先谈谈通过CQRS在订单支付过程中带来的收益,图有点长可以结合我们取得的最终收益从下文的流程图中进行印证。
通过CQRS,我们将订单下单支付的主要功能在极端情况下主体功能可用(降级对支付系统的依赖),同时能够在系统恢复后数据得到最终的一致性处理;
通过CQRS,我们将订单内的部分查询功能或者特定状态下(另一个聚合)的查询流量建立在读库,通过对象的生命周期管理(状态管理)来简化数据管理(读写库数据不一致),同时避免延迟导致的数据不准确性在系统内蔓延;
Tips:为了简化流程,以下流程图仅保留了核心交互流程
下单流程概要
支付流程概要
订单查询流程概要
另附两篇CQRS的其他实践案例
一条拍卖系统优化(一) -- 建立拍品Lot模型,实践CQRS
一条拍卖系统优化(二) -- 模型深化,建立出价用户BidUser模型
更多文章欢迎关注我的公众号