【发布时间】:2020-01-30 09:00:14
【问题描述】:
我对微服务有疑问。假设有 5 个微服务,比如 M1、M2、M3、M3、M4 和 M5。有 4 个数据库由 4 个微服务连接/访问。 比如M2连接MySQL,M3连接Cassandra,M4连接MongoDB,M5连接Oracle。
现在
Step-1: M1调用M2更新MySQL中的一些用户数据,更新成功,最后得到M2的成功响应
Step-2: M1 调用 M3 更新 Cassandra 中的一些数据,更新成功,最后得到 M3 的成功响应
第 3 步: M1 调用 M4 以更新 MongoDB 中的一些数据,但由于某些 DB 服务器问题或任何其他问题而失败。
我的要求是,我想回滚以前微服务(M2 和 M3)发生的数据库更改
我们应该怎么做才能实现这种回滚场景?
【问题讨论】: