【发布时间】:2017-10-24 23:24:36
【问题描述】:
例子
在线结账:
用户将商品添加到购物车,点击结帐并通过信用卡支付订单。
- 订单是通过 OrderMicroservice 创建的
-
a) 订单通过 OrderMicroservice 更新为“完成”状态
b) 付款通过信用卡处理并通过 PaymentMicroservice 记录
c) 通过 InvoiceMicroservice 创建发票并通过电子邮件发送给用户
由于某种原因发票微服务失败,数据库存储已满或电子邮件发送失败,或者支付失败但订单已经标记为“完成”,我们需要回滚数据库吗?或者我们在这里做些什么来确保整个工作流程得到正确执行?
【问题讨论】:
标签: c# docker architecture microservices software-design