开篇先谈谈通过CQRS在订单支付过程中带来的收益,图有点长可以结合我们取得的最终收益从下文的流程图中进行印证。

通过CQRS,我们将订单下单支付的主要功能在极端情况下主体功能可用(降级对支付系统的依赖),同时能够在系统恢复后数据得到最终的一致性处理;

通过CQRS,我们将订单内的部分查询功能或者特定状态下(另一个聚合)的查询流量建立在读库,通过对象的生命周期管理(状态管理)来简化数据管理(读写库数据不一致),同时避免延迟导致的数据不准确性在系统内蔓延;

Tips:为了简化流程,以下流程图仅保留了核心交互流程

下单流程概要

图片

支付流程概要

图片

订单查询流程概要

图片

另附两篇CQRS的其他实践案例

一条拍卖系统优化(一) -- 建立拍品Lot模型,实践CQRS
一条拍卖系统优化(二) -- 模型深化,建立出价用户BidUser模型

更多文章欢迎关注我的公众号
image.png


答案在风中
139 声望47 粉丝

程序员,先后供职于盛大、阿里巴巴、一条,目前在字节🐂🐴