標籤:

mqtt各種broker如何選擇?

mqtt的broker有諸多實現:moqutte、mosquitto、Rabbimq + mqtt plugin等。

從性能(千萬級)、擴展(eg:統計)、穩定性、維護成本(基於erlang實現的broker維護和擴展成本普遍不小)角度考慮該如何選擇?

自己實現一個mqtt broker可能會踩哪些坑?周期大概會有多長?

謝謝!


目前開源的方案集群支持都很差,幾乎要從零開始做。我們雲巴就是自己開發的。


從自己擅長的語言著手擴展吧,activemq雖然可以有virtual topic的概念,用常規的mqtt客戶端無法做到負載消費;moqutte負載消費未實現,集群功能問過作者說是正在打算用Hazelcast來實現;emqtt集群有實現,但負載消費未實現;hivemq看起來挺美的,集群負載消費都實現了,可惜要收費,免費才開了25個連接;另外的rabbitmq性能又弱了點;綜上所述留給樓下的孩子吧


emqtt 也許不錯,不過我用的windows版本,十天半個月就需要重新啟動,否則客戶端新連接無法有效創建:連上就斷開、反覆循環。

都在想自己用netty定製一個了


為mosquitto簡單的實現了一個去中心化,無leader,完全自治的集群。

在mosquitto.conf里配一下各節點的地址、埠,然後把節點交給load balancer即可。

hui6075/mosquitto

2018.1.18 更新benchmark:

=============================================

3台4core8g openstack VM,使用krylovsk/mqtt-benchmark測試了從1個broker到9個broker規模的集群bandwidth,

另外,還有Tsung的壓測報告,對比了9台broker通過集群和通過橋接方式連接的吞吐率、丟包率、CPU內存情況。


mosquitto在Raspbian上玩,感覺還行,只是還沒試集群。剛開始弄,也在關注發展。


fhmq/hmq golang寫的,性能不錯


Mosquitto、emqttd、rabbitmq用哪個比較好?


mqtt/mqtt.github.io

emqttd不錯,中國人做的開源項目,EMQ - 百萬級開源物聯網MQTT消息服務,用Erlang/OTP開發,作者之一李楓好像是華為出來的

emqttd is a distributed, massively scalable, highly extensible MQTT message broker written in Erlang/OTP.

emqttd is fully open source and licensed under the Apache Version 2.0. EMQ implements both MQTT V3.1 and V3.1.1 protocol specifications, and supports MQTT-SN, CoAP, WebSocket, STOMP and SockJS at the same time.

emqttd provides a scalable, reliable, enterprise-grade MQTT message Hub for IoT, M2M, Smart Hardware and Mobile Messaging Applications.

The 1.0 release of the emqttd broker has scaled to 1.3 million concurrent MQTT connections on a 12 Core, 32G CentOS server.


mosquitto 的websocket支持真差。。。。


先別說集群了, 就是簡單搭建個伺服器我覺得都困難, mosquitto倒是很容易, 但是想整個web頁面集中化管理, 都挺麻煩的, 不夠簡單。 這個事情需要有人來做。


請問題主最後是如何選擇的?還有Apollo怎麼樣?


mosqitto二次開發怎麼入手啊


MQTT基礎概念介紹 - pipinet123的專欄 - 博客頻道 - CSDN.NET


推薦閱讀:

知乎的 comet 實現機制是怎樣的?
怎麼使用gcm推送?
Android推送SDK哪家好?
有用過 雲巴 實時消息系統的嗎?用起來怎麼樣?謝絕廣告
人們為什麼厭惡新浪微博手機端推送,卻對QQ桌面彈窗沒那麼大的抱怨?

TAG:推送Push | MQTT |