【发布时间】:2020-06-05 04:22:20
【问题描述】:
我需要在基于 Spring Boot 的基于微服务的应用程序中解析原子操作。如图所示,您可以想象 2 个微服务。
一项服务用于将用户权限和凭据保存为身份提供者,另一项服务用作应用程序中用于与订单、联系人、地址等配对的用户帐户。
当用户创建新帐户时,我需要创建用于业务目的的用户和用于授权的用户身份。这两个操作都应该作为一个原子操作来执行。这意味着如果一个失败,必须机器人失败并回滚。无法保存用户凭据但没有业务用户对象。你能告诉我解决这个问题的最佳方法是什么或应该是什么样的步骤吗?
我的第一个想法是使用 Feign 的 RestTemplate 从另一个服务调用,但我不知道如果第二个服务失败如何回滚操作。谢谢你的建议。
【问题讨论】:
-
Spring Cloud 没有这样的功能
标签: spring spring-boot microservices spring-cloud distributed-transactions