java - 从单个 API 更新多个服务中的资源时如何处理错误 | 原子操作
问题描述
我目前正在研究从客户端调用现有 API 的用例。现在,我需要更新多个服务中的资源。如何确保操作是原子的。
原子,我的意思是,如果对第一个服务的请求由于某种原因失败,并且对第二个服务的请求成功,这意味着第二个服务在其结束时更新了资源,那么我们如何确保执行整个操作而不是部分执行一。
解决方案
这是一个常见问题。例如,如果您使用 Angular 框架使用 api,您可以使用 RxJS 创建一个forkJoin例如,这将帮助您处理类似的事情,您可以在其中分析所有操作的结果,或者在有人的情况下做一些事情失败。
我认为您需要采取一种方法来做到这一点,并且还需要在您的服务中以某种方式撤消操作,以防某些步骤失败(非常重要)以恢复完整资源的先前状态。
推荐阅读
- r - 用向量替换部分字符串
- java - Jexl 执行动态字符串转换
- linux-kernel - nmi 内核调用紧密循环
- reactjs - 在 React Native 中的 HOC 内导航
- githooks - 与 lint-staged 一起使用时,预提交规则失败
- angular - 在 Angular 中,如何在不使用指令/模板的情况下插入特定的组件实例?
- r - invoke_map 难以找到参数
- c - 如何解决此问题“我需要小数位,因此“.41”为 41,但“9.41”为 40。
- r - grep 在 for 循环中检测 100 万次迭代中的名称,太慢了
- javascript - 这种 JavaScript 对象区分方法会起作用吗?