小编Max*_*mus的帖子

我们真的可以使用事件溯源和 CQRS(一种用于电子商务结帐渠道的事件驱动架构)吗?

Let\xe2\x80\x99s 表示 Checkout 有以下服务:

\n\n
    \n
  1. 订单服务,创建订单并收取运费、付款和下订单并管理订单的生命周期。

  2. \n
  3. 库存服务,提供产品的可用性。

  4. \n
  5. 运送服务,提供运送选项和费用

  6. \n
  7. 客户档案服务,提供客户信息。

  8. \n
  9. 信用服务、支付授权

  10. \n
  11. 预订服务进行预订

  12. \n
\n\n

以下是订单创建的流程:

\n\n

创建订单,用户提供送货地址,计算送货选项,收取付款并下订单并向用户显示确认信息。

\n\n

许多零售商的结账都是同步和订单服务编排的。

\n\n

让\xe2\x80\x99s 说,如果我们使用事件源、CQRS 和事件存储,订单服务会创建一个订单事件并保留在事件存储中,发布域事件以及订阅事件存储的所有其他服务,因为它们需要更新交付选项、运输成本、完成订单的付款以及使用 CQRS 通知用户每个步骤的状态以供他查看。

\n\n

我试图理解:

\n\n

结帐应用程序的所有结帐域事件(例如添加送货地址、预订、交付选项选择、添加付款和完成订单)有多复杂?

\n\n

它会比协调结帐请求的订单服务的同步操作更快吗?

\n\n

万一失败的话最终会保持一致性吗?如何处理永远一致性?

\n

events domain-driven-design event-sourcing microservices

5
推荐指数
1
解决办法
1361
查看次数