我正在使用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