微服务模式之间的类似于ACID的通信

问题描述 投票:2回答:1

过去几个月来我一直在研究微服务架构应用程序,但我仍在努力适应分布式自然环境。有一种模式我已经注意到很多次了,我不确定处理该模式的首选方式。]

假设我们有服务A,服务B和服务C。服务A公开了一个API,其中一种方法取决于调用B公开的API来创建资源RB,也取决于C公开的API来创建资源RC。因此,在理想情况下,A,B和C都可以正常工作,但用例我已经注意到几次,在执行A公开的API逻辑期间,B或C都可能宕机。应该在创建RB时解决,因为C处于关闭状态,因此无法创建RC,我们尝试通过在服务B上调用/ delete /来回退RB的创建,但在此期间B也下降了。现在创建了RB,但最后不应该这样做,因为RC失败了,应该执行A的API逻辑。

相同的A,B和C可能是集群环境中的3个节点,试图在将数据发布到节点之一时在集群中传播数据。

很抱歉,冗长的文字,谢谢。

过去几个月来我一直在研究微服务架构应用程序,但我仍在努力适应分布式自然环境。我注意到有多次我...

api design-patterns architecture microservices rollback
1个回答
0
投票

将这些错误消息保留在队列中,并让后台作业重试回滚。

© www.soinside.com 2019 - 2024. All rights reserved.