美文网首页
MQTT Topic的设计思路

MQTT Topic的设计思路

作者: 霡霂976447044 | 来源:发表于2020-04-09 21:07 被阅读0次

    参阅两篇文章
    https://blog.just4fun.site/post/%E7%BC%96%E7%A8%8B/mqtt-topic-payload-design/

    https://www.jianshu.com/p/3fb115a46194

    我们可以多个设备订阅同一个Topic,通过payload传递对应设备的id,在每一个设备上自己的处理逻辑上,判断此ID是否和自身匹配,不匹配则丢弃。
    这样有一些问题,假设设备几千台共用一个Topic,这样,每一个设备都会接收到该消息,假如,我们又一个设备需要经常对其发送消息,那么所有设备都会经常得到这个消息,特别是,同时发送的时候,会增加服务器负担以及硬件设备性能通常非常底下。
    同时,对指定设备的权限控制会不方便。对某个设备进行过滤的时候需要通过payload里传输的信息过滤。
    假如一个用户恶意对自己的设备发送大量控制消息,会导致所有硬件设备都会接收到,虽然设备能够根据唯一ID判断是否是自己的消息,但是这无疑是非常危险且非常消耗硬件资源的

    通常,在MQTT Broker中,都是根据Topic、username、password、client id进行权限控制的。

    如果每一个设备对应一个Topic,那么MQTT Broker只需要得到对应订阅的Topic的TCP连接发送消息即可。好处:
    不会造成对所有TCP连接的发送
    便于订阅特定设备
    便于后续的过滤
    便于权限控制

    如果硬件设备推送的Topic动态改变,会很难控制设备的推送

    相关文章

      网友评论

          本文标题:MQTT Topic的设计思路

          本文链接:https://www.haomeiwen.com/subject/bomhmhtx.html