【发布时间】:2022-10-05 17:22:13
【问题描述】:
我们试图了解如何补偿“传奇补偿失败”。
我们有两个微服务和两个数据库,每个微服务一个。
- 客户微服务
- 合约微服务
用例:客户别名修改。
- 请求被发送到
\"Customer microservice\"。 一个。Customer别名在客户表上被修改,但其状态为pending。 湾。发送customer modified事件。 -
customer modified事件由\"Constract microservice\"接收。 一个。收到的Customer会在所有合同上进行更新(我们使用的是 mongodb),因为每个合同中都嵌入了客户信息。 湾。发送contract updated事件。 -
contract updated事件由\"Customer microservice\"接收。 一个。Customer\ 的状态设置为confirmed。如果
3.a失败,则执行补偿操作,但如果失败了怎么办?
- 请求被发送到
标签: microservices saga