如何使用事务/原子进行多个REST请求?

ior*_*vic 9 java rest spring transactions rollback

我有以下情况.
我有一个REST客户端,作为其他3个REST客户端的外观.(我用Java编程,使用Spring Boot)

客户的责任之一包括对用户进行CRUD操作.
现在,暴露自己的REST API的所有其他3个系统都有某种用户管理.

当我收到创建用户的请求时,我必须通过他们的REST API在这3个系统上创建它们并在我的数据库中保留.

现在,在最好的情况下,我只需调用他们的API,将用户插入我的数据库中,一切都很棒.

但是,请考虑用户创建仅在1个外部服务上成功的情况.我是否会重试所有其他操作?我是否尝试删除用户已被取代的用户?

这样做的正确方法是什么?

Sam*_*uel 5

没有一个简单的方法可以做到这一点。如果“事务”的任何部分失败,您就无法可靠地回滚或重试以保证所有系统的一致性。您需要与所有三个(四个系统)紧密集成才能使用分布式事务系统。