mqtt 客户端消费大的消息时 客户端总是断开链接问题

一个生产客户端 连续发送 1000条 body 差不多 3MB 的消息,
消费者 mqtt 客户端消费大的消息时 客户端总是断开链接问题.因为链接断开,消息重新开始消费,导致以前的消息丢失.

消费一段时间以后 会出现 socket close情况
为什么消费大的消息体时 服务端链接会主动断开.

客户端收太慢了,全堵在 tcp buffer,超了,就会断开。
你得收快一点。
把客户端写成异步的,或者用共享订阅:

EMQX 或 MQTT 协议并没有直接对每个客户端的消息接收速率进行严格限制。但当接收的消息过多,客户端无法及时处理时,可能会导致消息堆积过多并最终丢失。为了确保系统稳定性和消息传输的可靠性,建议每个订阅客户端的消息接收速率不超过 1500 消息/秒(按每条消息 1KB 计算)。

如果消息接收速率超过此建议,可以使用共享订阅来添加多个订阅客户端,从而分散负载,降低单个订阅客户端的消息接收速率。

现在测试代码 客户端 什么逻辑都没有做 直接PUBACK 完成的
客户端仍然会断开链接.

那换个高性性能的mqtt客户端,要是还是满足不了你的要求,就用共享订阅

怎么定义高性能的客户端,硬件配置要很高.我软件是 使用netty 实现的mqtt客户端.刚开始处理10条左右就会断开,然后重连,消费,继续断开链接

订阅客户端的消息接收速率不超过 1500 消息/秒(按每条消息 1KB 计算)

如果消息大的话 速率 也会随之降低吗?
具体能处理多少个 多大的消息 怎么定位呢?
业务一点一点压测出来吗?

这就很不正常,目前我还没碰到过性能这么差的:smiling_face_with_tear:,是不是哪里设置错了:thinking:

是的

这个最直接可靠,你也可以先去官网找找5.x的测试报告

那个参数设置会引起这个问题?消费缓慢断开连接?我是使用netty实现的mqtt 客户端连接

我没用过,也不清楚,也就不负责怀疑下。你可以看看相关的文档和资料

好的 感谢 感谢