我们有一个ReliableMessageListener
通过实现同步它在集群中保存的一些数据结构onMessage
。
集群由三个节点组成。我们注意到其中一个主题不同步,并且由于消息丢失而被终止,由环形缓冲区检测到,因为我们得到一个“ Terminating MessageListener, ... Reason: Underlying ring buffer data related to reliable topic is lost
”异常。发生的情况是该节点仍处于启动状态,但该特定侦听器没有从其他两个节点获取事件/消息,而他们确实从中获取了事件/消息。
我们对这个特定主题进行了事实上的脑裂。
我们的消息监听器配置为isLossTolerant = false
, 和isTerminal = false
。
我试图了解什么被认为是处理这种情况并从中恢复的好策略。
例如,再次尝试订阅此主题是一个好习惯吗?发送消息以清除集群中其他节点的数据是一种好习惯吗?在环形缓冲区不同步后,他们甚至会收到消息吗?
谢谢