如何清空掉EMQX中积压的消息

在实际使用中遇到了一个问题,consumer消费能力有限,设置的qos为1,导致消息积压,如何将积压的消息清理掉?

你用的是哪个版本?

目前没有 api 提供这个功能
如果不关心还没消费掉的消息,在 5.x 上可以间接地用 force_shutdown 配置来关闭连接:force-shutdown
也可以在 MQTT基本参数 中调小这两个配置项来减少积压的消息数量,这会让后续消息直接被丢弃

4.x 版本中也有类似的配置项
max-queue-lenforce-shutdown-policy

我通过MQTTX把剩余的消息消费掉了,发现主要的问题是网络问题,业务服务和EMQX都在同一个K8S集群中,但是请求的时候发现大量的TCP重连,不知道问题出在哪里,重启EMQX后恢复正常,还在观察中。