【发布时间】:2019-05-09 21:03:19
【问题描述】:
假设我们有 2 个服务,A 和 B。 服务 A 具有执行以下操作的功能:
- 验证数据
- 调用服务 B 函数,对数据库进行更改
- 做更多的事情
- 对数据库进行更改
现在,我们假设以下步骤 3 或 4 之一失败。 由于服务 B 在数据库中进行了更改,因此这些更改仍然存在。
在这种情况下有没有办法回滚数据库?我虽然关于数据库事务,但我在嵌套 js 中找不到任何方法,虽然它受 TypeOrm 支持,但嵌套看起来并不自然。 如果没有,我现在“卡住”了服务 B 发生的更改,但没有更改应该由 A 发生。
非常感谢。
【问题讨论】: