【发布时间】:2021-05-22 17:45:15
【问题描述】:
我已经应用了 DB-Per-Service 模式。 禁止2PC。
每个服务锁定其编辑资源的编排传奇是否被认为是一种不好的做法? 我必须自动更新 3 个服务。 所以我使用 saga 自动更新每个服务,更改记录的版本号以避免并发问题,然后继续下一个服务。 当出现故障时,我会使用消息队列逐个回滚服务。
它基本上不是 2pc 的异步实现,缺点是用户读取可以回滚的预先提交的数据吗?我是否必须锁定已处理的资源才能在不丢失数据的情况下回滚?
【问题讨论】:
标签: microservices distributed-transactions