IOT 系统 MQTT 协议有必要将设备 id 放在 topic 里吗

查看 66|回复 7
作者:unt   
放:1W 台设备的话可能就有 1~3 万个 topic 在 broker 运行,一般 4H16G 的 linux 服务器撑不撑得住?
不放:只设两个 topic ,down 和 up, 设备 id 放在载荷里,但是每次单点发布时,其实会给所有设备都发送一遍,pps 撑不撑得住,通讯模块是否会接受到很多无用信息,影响处理性能?
还有一个群发的应用场景,请问如何实现最好。(无网关,目前采用的是遍历发送)
pigspy   
有必要,设备上行的消息可以发给同一个或多个 topic ,但是设备最好自己订阅自己特有的 topic
cnhongwei   
没有设备 ID 在 topic 中,server 可能会保存 topic 数据,严重影响性能。所以使用设备 ID 做为 topic 好。群发的话,看 QOS 和 cleanSession 如何设置的,和前面的问题一样,导致 server 要保存 topic 的数据的话,最好使用设备相差的 topic ,程序遍历发送,如果不用 server 保存 topic 数据的话,可以使用设备无关的同一 topic 。
darkengine   
"每次单点发布时,其实会给所有设备都发送一遍"
----
设备的网络流量抗得住吗?
unt
OP
  
@darkengine 撑得住,现在流量费很便宜
unt
OP
  
@cnhongwei broker 运行 2W 个 topic 会有性能问题吗
ma836323493   
mqtt 在线和离线,不是统一监听系统级别 Topic ,message 里面有设备 id 吗, 另外我们开锁, 也是根据设备 id 建 topic
unt
OP
  
@ma836323493 啥意思,为什么既说 message 里设备 is ,又说根据 id 建 topic
您需要登录后才可以回帖 登录 | 立即注册

返回顶部