您好,blade-broker 我配置了mqtt接收数据限制read-buffer-size不起作用,一直是默认的8KB

Blade 未结 2 301
lzz666
lzz666 剑侠 2025-09-18 12:17

ffb736af8eb7f74e03613c9864266822.png


您好,blade-broker 我配置了mqtt接收数据限制read-buffer-size不起作用,一直是默认的8KB,设备发送超过8KB的mqtt数据包,物联网就接收不到了

一、该问题的重现步骤是什么?

1. sssss

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2025-09-18 15:36

    read-buffer-size 不是包长限制哦(它是解包申请的内存大小,大包会多次申请),下面那个 10M 才是,你没收到数据跟这个配置是没关系的。这配置也不建议改(内存消耗会变大),就用默认的就行,除非消息都是特别大的。

    你可以先用 mqttx 订阅这个 topic 看看到底是数据丢了还是数据解析出错。

    你的数据是发送到 内置的 blade topic 上了还是自定义的?kafka 里面有数据没?


    我们排查了一下,你这个 8k 的问题是因为 TDSql 的 getDeviceLoggerSTableSql,生成日志表的时候,消息默认最大长度是 8k,你可以先手动调整一下,后续版本我们会评估下,不过 td 最大只支持每行 16k 的长度,你这个得有 2~300k了,gzip 之后都会超,要么就得用 blob


    438fea01534a5a05b02f81eb65eed066.png

    0 讨论(0)
  • 2025-09-18 16:57

    mqttx 可以接收到消息,发送的topic是内置的,但是物联网平台中设备日志里面没有存储,没有使用kafka,我部署的是springboot版本的,我这边网关盒子会通过mqtt发送2000-3000多个物模型,经过我测试,一次发送306个物模型,会有日志,超过这个数量就不会有日志,306个物模型正好接近8kb,不知道什么原因

    作者追问:2025-09-20 11:36

    把你的物模型导出成json配置,然后再把你上报给mqtt的完整报文(json格式)连带导出的物模型配置一起发我们邮箱 bladejava@qq.com,我们后续也安排排查下,可能是tdengine的日志表的字段默认8k,超过后就无法写入了。

    0 讨论(2)
提交回复