【发布时间】:2020-02-28 08:45:41
【问题描述】:
编写一个服务,该服务必须与多个 API 通信,并且还要对 DB 执行一些事务。显然,整个异步调用序列中的任何一个都可能失败,然后我想我将不得不回滚到目前为止已经完成的步骤。在 DB 的情况下,任务的明显解决方案是使用事务。因此,如果任何步骤失败 - 事务只会被回滚。但是在混合分布式环境中发生同样的事情呢?
这里有哪些最佳做法?有吗?
【问题讨论】:
-
“混合分布式环境”到底是什么意思?您是指使用微服务还是更具体的分布式系统?
-
我的意思是有些调用必须通过 Rest API 进行,有些调用必须通过 websocket 等等。
-
请在此处查看我的回答 (stackoverflow.com/questions/58178511/…),它解释了 Saga 模式。
标签: rest api websocket microservices