其他分享
首页 > 其他分享> > MQTT学习笔记(三)MQTT Broker 选型

MQTT学习笔记(三)MQTT Broker 选型

作者:互联网

MQTT 官方相关链接

MQTT官方整理的开源Broker简要列表

MQTT官方整理的开源Broker详细介绍

MQTT官方整理的开源Broker特性和性能对比

MQTT Broker选型需考虑的因素

1.支持的协议:目前有 mqtt3.1 、mqtt3.1.1、mqtt5.0。3.1 和3.1.1 是最常见的协议。

2.支持的QoS

       与Qos1相比,Qos2的开销会很大,因为Broker有额外的两个动作。

          1)去重。为了保证消息不重复,Broker必须进行去重处理。

           2)确保响应消息PUBREC到达客户端。Broker必须等待客户端PUBREC消息的响应,只有收到客户端的确认消息后,Broker才能对订阅者投递消息。

3.支持遗嘱消息  

   通常设备断开都不是主动断开的,需要设置遗嘱消息来处理。遗嘱消息一般通过在客户端Connect的时候指定。当客户端异常断开时,任何订阅了遗嘱消息的客户端可以收到该遗嘱的消息。 以下情况会发送遗嘱消息

4.支持持久化

   MQTT协议规定,一些数据如QoS1消息,持久Session需要支持持久化。

5.支持多种连接方式

    MQTT over TCP:最基础的连接方式

    MQTT over Websocket:在Websocket之上做MQTT封装,对APP这种客户端来说很友好

    MQTT over TCP/SSL:基础连接方式做通信加密,通常SSL采用TLS

    MQTT over Websocket/SSL:Websocket做通信加密,通常SSL采用TLS

6.保留消息(可选)

7.集群

8.自定义验证方式

    验证客户端的合法性有三点:CONNECT阶段验证是否允许连接、PUBLISH阶段验证是否允许发布、SUBSCRIBE阶段验证是否允许订阅。

9.支持共享订阅

    共享订阅的具体含义是,多个客户端订阅同一个主题,消息只会被分发给其中的一个客户端。

共享订阅主要针对的是需要客户端负载均衡的场景,比如后端服务多个Worker,需要共享订阅来只让一个Worker得到数据

标签:订阅,选型,Broker,MQTT,消息,遗嘱,客户端
来源: https://blog.csdn.net/Angellyouran/article/details/119388245