我们设备使用固定的clientID,出现断网或断开之后再重连不上的情况,频繁发生takenover,从而进入死循环。

我们的emqx版本是5.0.20,看其他贴纸出现:
而使用固定Client ID,又会导致断链重连的时候,频繁发生takenover,从而进入死循环。
有解决吗,谢谢

另外的帖子有提问:
使用动态 Client ID 就没法使用持久会话了,这就造成一个矛盾问题:要想使用持久会话,就必须使用固定Client ID,而使用固定Client ID,又会导致断链重连的时候,频繁发生takenover,从而进入死循环。

没太明白,怎么进入的死循环。
不是应该每个设备都使用唯一的 clientid,然后他如果发生断链了,就自己重连上来,沿用之前的session,然后就可以正常收发消息了。

你说的死循环应该是发生在多个设备使用了相同的 clientid 时发生的吧。这个解决方法就只能是要保证每个设备都使用唯一的 clientid

相同设备使用相同的clientID,之前看其他帖子上emqx有bug,频繁断开连接会触发连接不了的情况,进入死循环takenover

使用同样的 clientid 会相互踢,是从 MQTT 协议上是正常的,从业务上看应该是你的客户端的 bug,同一个设备创建出了多个使用相同 clientid 的 MQTT 连接,就是 MQTT 连接发生了泄漏。