在这种情况下,我们需要跨多个rest api调用管理数据库事务。
在传统示例中,新客户是通过不同的微服务注册,订购和付款的。
我们确实有将用于业务规则实现的DB Micro REST服务以及SOAP和REST服务的组合的列表。
问题是:我如何围绕它添加事务管理包装,以便在只有一个失败时它将回滚db数据。
我准备了有关XA交易的博客,但无法从我打电话的地方获取如何在我的主项目中使用它 1. 5 DB Micro服务 2. 1外部SOAP服务 3. 2外部REST服务。
有人可以帮我吗?
预先感谢
答案 0 :(得分:0)
SOAP en REST之类的Web技术不适合参与(XA)事务。创建它们是为了在可能位于世界另一端的独立系统之间进行通信。尽管在技术上可以使用SOAP来实现(请参阅google上的WS-Transaction),但我还是强烈建议您这样做,因为
您需要一个完全不同的架构,其中包含佐贺故事,这些故事会编排对不同服务的调用,并包含重试或补偿逻辑以应对其中的任何失败。有很多关于生活的好文章,没有分布式事务来解释这些概念。太复杂了,在这里无法解释。