[英]Microservice architecture Database rollback
我有一个带有多个服务的微服务架构,每个服务都包含自己的数据库和一个被视为业务逻辑的网关。
网关:
服务一:
服务二:
因此,例如网关调用服务 1 来插入一些数据。 然后它调用服务 2 来插入一些数据。
现在的问题是:如果对服务 2 的调用失败了,我该如何撤销对服务 1 的插入? 我知道我可以调用http://.../delete方法,但这不是最好的解决方案。 那么撤消更改的最佳方法是什么?
考虑到您架构的非常具体的细节,一个直接的答案是分布式事务管理。 但这不是在实施方面而是在维护、性能等方面会有点困难。
但是我的问题是,我是否觉得架构存在一些缺陷,因为如果由于服务 2 中的某些故障而不得不回滚服务 1 中的数据,那么这两个服务之间存在紧密耦合,这不是微服务的方式应该表现得像它应该是独立的。 因此,您可能需要稍微更改架构
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.