首页 > 解决方案 > 从单个 API 更新多个服务中的资源时如何处理错误 | 原子操作

问题描述

我目前正在研究从客户端调用现有 API 的用例。现在,我需要更新多个服务中的资源。如何确保操作是原子的。

原子,我的意思是,如果对第一个服务的请求由于某种原因失败,并且对第二个服务的请求成功,这意味着第二个服务在其结束时更新了资源,那么我们如何确保执行整个操作而不是部分执行一。

标签: javaapirestmicroservices

解决方案


这是一个常见问题。例如,如果您使用 Angular 框架使用 api,您可以使用 RxJS 创建一个forkJoin例如,这将帮助您处理类似的事情,您可以在其中分析所有操作的结果,或者在有人的情况下做一些事情失败。

我认为您需要采取一种方法来做到这一点,并且还需要在您的服务中以某种方式撤消操作,以防某些步骤失败(非常重要)以恢复完整资源的先前状态。


推荐阅读