我正在使用Mosquitto broker来实现MQTT协议。但我无法找到蚊子经纪人如何进行聚类。对于一个经纪人可以服务的客户数量也有任何限制。使用Mosquitto Broker进行群集形成
回答
它不在Dominik提到的列表中,但Solace Systems有一个支持集群的MQTT设备。每个代理支持数十万个并发的客户端连接。
免责声明:我在安慰
已经设置一个HAProxy的前端,反向代理几个听我的经纪人已经解决了mosquitto集群方式的系统工程师。
我也走了一步,利用DNS SD它与-S
标志mosquitto支持最新版本。
但是已有一些头痛这样的设计,即在dnssd和libresolv库在大多数发行版不遵守resolv.conf中的域名和搜索领域的应用支持。
因此,如果您在传统环境中工作,那么我会建议您查看rabbitmq,hivemq或redis pubsub以获取更多生产级解决方案,以便将其锁定到现有的脚印中。
此答案的原始数据来源:Horizontal scaling for brokers。我只是添加了插件支持。 mosquitto经纪人合并的
两种功能可以被用来设置一个n
节点群集。
- Mosquitto桥梁支座。
- 支持插件 - mosquitto认证 - 塞(1)
桥的功能只是用来同步所有mosquitto经纪人之间的消息,而mosquitto认证 - 插件可以用来保存授权和访问控制列表中单个数据库后端。
虽然搭好桥,看到的输入/输出桥主题的使用,以避免转发环路(2)。该模式是格式
topic pattern [[[ out | in | both ] qos-level] local-prefix remote-prefix]
报价mosquitto.conf手册页(3),对于进来的话题,大桥将预先准备的格局与远程前缀和订阅所产生的话题上,远程代理。当接收到匹配的传入消息时,远程前缀将从主题中删除,然后添加本地前缀。反之亦然
示例mosquitto.conf 3节点群集在下面。要用mqtt-malaria(4)进行负载测试,更重要的是将连接clean_session标志的客户端的标志设置为false,。
+-------------------+
+------------------> BRIDGE BROKER <------------+
| | 192.168.1.1 | |
| +--------^----------+ |
| | |
| | |
| | |
Broker A | Broker B | | Broker C
| | |
+----------------------+--+ +----------------+--------+ +--+----------------------+
| connection A | | connection B | | connection C |
| | | | | |
| address 192.168.1.1:1883| | address 192.168.1.1:1883| | address 192.168.1.1:1883|
| | | | | |
| topiC# out 2 "" A/ | | topiC# out 2 "" B/ | | topiC# out 2 "" C/ |
| topiC# in 2 "" B/ | | topiC# in 2 "" A/ | | topiC# in 2 "" A/ |
| topiC# in 2 "" C/ | | topiC# in 2 "" C/ | | topiC# in 2 "" B/ |
+----------------------^--+ +----------------^--------+ +--+----------------------+
| | ^
| | |
| | |
| +-------+---------+ |
+-------------------+ HA PROXY +-------------+
+-----^--^--------+
| |
| |
+ +
有2(这个时候写的)主要的开源支持大规模MQTT部署和集群 项目
VerneMQ和EMQ都用Erlang编写的,这是非常适合分布式消息,所有的复制都是建立在(Erlang)语言的工具集中的。
VerneMQ有商业企业支持,而EMQ计划在不久的将来,这两个项目都有大公司支持他们作为赞助商。
- VerneMQ(https://vernemq.com)
- EMQ(http://emqtt.io)
您也可以看看HiveMQ这是块最古老的孩子,却没有祈祷,许可证不能使用。
- HiveMQ(http://www.hivemq.com)
你可以看看Bevywise IoT Platform。这是一个商业产品。这可以选择尽可能多的经纪人来扩大规模。这支持MQTT和MQTT-SN协议。
声明:我为Bevywise Networks工作。
- 1. mosquitto broker service ubuntu16.04
- 2. mosquitto-clients and broker running on SSL
- 3. 使用R通过SOM进行群集
- 4. 使用Cytoscape.js进行节点群集
- 5. 使用Apache Solr和Carrot2进行群集
- 6. 节点红色mosquitto broker的凭证?
- 7. 成员不会形成集群
- 8. JGroups没有与UDP形成集群
- 9. 集群条形图
- 10. 在tomcat上用弹簧进行集群
- 11. 使用空闲CPU为Web服务器形成群集
- 12. 使用scikit-learn获取集群成员/元素集群DBSCAN
- 13. 如何使用repmgr使用Postgresql群集进行故障恢复?
- 14. 在windows上配置mosquitto broker以在网络中可用
- 15. 使用子群集群
- 16. Message Broker /系统集成问题
- 17. 如何在此环境中形成群集并选择群集标头?
- 18. 使用konacha进行Emberjs集成测试
- 19. 使用Scribe与Vimeo进行OAuth集成
- 20. 使用WakefulBroadcastReceiver进行Firebase集成
- 21. 使用Encog进行集成学习
- 22. 在Bluemix上对Node.js进行集群
- 23. 图形集群工具
- 24. 通过ggplot2进行DBSCAN集群绘图
- 25. 针对SQL Server集群进行开发
- 26. MYSQL集群(NDB)与Galera进行复制
- 27. 使用现有的Apche-Spark Standalone群集进行Mesos配置
- 28. 使用python进行集群图表可视化
- 29. 使用多处理模块进行集群计算
- 30. 如何使用ASP.Net对上传文件夹进行群集?
HiveMQ在Azure上的表现如何?默认情况下,Azure虚拟机具有ICMP阻塞,并且使用普通的Mosquitto实例,因此我们遇到了很多断开连接。你能确认HiveMQ在最新的Azure虚拟机上运行良好吗? – qgicup 2016-01-19 09:51:45