-1
例在微服务中,当多个微服务受到影响时,如何确保所有服务都得到更新?
在线结算:
用户添加项目到购物车,点击结帐,并通过信用卡支付订单。
- 订单通过OrderMicroservice创建
一)令与“完成”状态通过OrderMicroservice
二)更新付款是通过信用卡处理,并通过PaymentMicroservice
三)发票记录通过InvoiceMicroservice创建并通过电子邮件发送给用户
对于s由于发票微服务失败,数据库存储已满或电子邮件未能发送,或付款失败,但订单已被标记为“完成”,我们是否需要回滚数据库?或者我们在这里做什么来确保整个工作流程都已正确执行?
这看起来像ESB和佐贺的事情发生。理想情况下,OrderItem命令启动Ordering Saga,然后等待来自其他服务的事件,然后在所有其他相关服务完成后更新Order Status。 – Fran