对比一些MQTT的代理(broker)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对比一些MQTT的代理(broker)相关的知识,希望对你有一定的参考价值。

参考技术A

broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者。
如今有很多的broker,下面就是一张关于各种broker对比的图片:

目前我用过的有mosquitto和emqttd(2.0版本后改叫EMQ),因为目前的需求是希望做每秒10万以上的数据接入,所以需要考虑建立集群。但是在使用mosquitto的过程中发现他不支持集群,所以就放弃了,转投emqttd。
在使用mosquitto过程中发现了一些问题:
在使用mosquitto时,如果想使用集群的话,可能会需要进行二次开发。目前只支持桥接。并且他在遍历时的效率非常低,使得他无法支持大量的客户端或者操作过于频繁的操作(比如十万或百万级别的客户端同时发送数据)
emqttd有以下优点:

EMQ 2.0 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。(抄自 EMQ官方文档 )

以上是关于对比一些MQTT的代理(broker)的主要内容,如果未能解决你的问题,请参考以下文章

基于MQTT协议实现Broker

MQTT 系列之 MQTT broker 的连接

mqtt协议-broker之moqutte源码研究三之PUBLISH报文处理

物联网之MQTT3.1.1和MQTT5协议 (20) MQTT 相关开源实现Server或Broker列表(会不断更新)

mqtt协议-broker之moqutte源码研究一

有关 EMQ X 水平可扩展性的挑战与对策 - MQTT Broker 集群详解