我正在使用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. MQTT Broker - Mosquitto Event Logging
- 3. mosquitto-clients and broker running on SSL
- 4. MATLAB中集群的形成
- 5. 使用R通过SOM进行群集
- 6. 使用Cytoscape.js进行节点群集
- 7. 使用websockets进行节点群集
- 8. 使用JBoss EWS 2.0进行群集
- 9. 使用Apache Solr和Carrot2进行群集
- 10. 成员不会形成集群
- 11. 节点红色mosquitto broker的凭证?
- 12. Paho python客户端无法正常使用Mosquitto Broker
- 13. 无法使用Mosquitto Broker建立websocket连接javascript客户端
- 14. 无法在windows中形成elasticsearch集群
- 15. JGroups没有与UDP形成集群
- 16. 要根据条件形成群集?
- 17. 集群条形图
- 18. 在tomcat上用弹簧进行集群
- 19. 使用空闲CPU为Web服务器形成群集
- 20. 使用scikit-learn获取集群成员/元素集群DBSCAN
- 21. 在Xcode中集成Mosquitto最新库
- 22. 使用phonegap进行群聊
- 23. 如何使用repmgr使用Postgresql群集进行故障恢复?
- 24. 在windows上配置mosquitto broker以在网络中可用
- 25. 使用子群集群
- 26. Message Broker /系统集成问题
- 27. 如何在此环境中形成群集并选择群集标头?
- 28. flink - 群集未使用群集
- 29. 使用php进行IVR集成
- 30. 使用Ruby on Rails进行Twitter集成
HiveMQ在Azure上的表现如何?默认情况下,Azure虚拟机具有ICMP阻塞,并且使用普通的Mosquitto实例,因此我们遇到了很多断开连接。你能确认HiveMQ在最新的Azure虚拟机上运行良好吗? – qgicup 2016-01-19 09:51:45