过去几个月来我一直在研究微服务架构应用程序,但我仍在努力适应分布式自然环境。有一种模式我已经注意到很多次了,我不确定处理该模式的首选方式。]
假设我们有服务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个节点,试图在将数据发布到节点之一时在集群中传播数据。
很抱歉,冗长的文字,谢谢。
过去几个月来我一直在研究微服务架构应用程序,但我仍在努力适应分布式自然环境。我注意到有多次我...
将这些错误消息保留在队列中,并让后台作业重试回滚。