emqx 5.2.0连接抖动功能开启了没有生效
在dashboard 开启了 连接抖动的功能后,我用mqttx客户端频率的断开连接。超过了 连接抖动设置的次数后,发现还能正常连接上MQTT,请问是否是一个BUG还是我对这个 连接抖动的理解有误呢?
麻烦提供下你的连接抖动
具体的配置内容和测试方法
目前配置在dashboard上如下配置,
然后在mqttx工具下不停的断开重连,
发现还是能正常连接,按描述我应该一分钟内断开重连5次以上应该会禁用3分钟,而实际我断开重连5次后还是能正常连接上。这个基本可以复现。今天我测试了3次,有1次可以生效,有两次不能生效。
使用 MQTTX CLI 测试后,没有复现你的问题。有两点你检查下看看
- 连接抖动针对的是客户端 ID (可以针对 IP, 但是副作用太明显,目前不支持), 如果客户端 ID 不是固定的,则这个功能无法生效
- 这个功能是在连接上后进行的判断,如果 ClientId 已经被封禁了,则会被踢掉。所以有可能显示上连接成功了,实际上已经被踢掉了,无法进行订阅或者发布,你可以验证下是否是这种情况
在mqttx上测试,客户端id是固定的,我这边试过频繁断开再重连5次以上,发现还能发布订阅,而且必复现的
另外我这边是开启了客户端认征,不知跟这个有没有影响呢?
另外你这边发现断开次数少于3次是精准可以生效的,但大于3次就看运气了,所以你那边可以把断开次数设置为5应该可以复现这个问题的。再补充一下,我这边是4个节点集群
你在集群前面有设置负载均衡么,也就是说设备是每次都连的同一个节点,还是可能连接到不同的节点上
客户端连同一个节点也试过一样,只要设置断开次数大于3次,就不能精准3次,有时要9次有时要10几次才能把这个clientid加到黑名单,你那边可以尝试配置5次应该可以复现的。
单节点完全没问题,我单节点也是正常,只是多节点才会有这个问题的。