天天看點

我的mqtt協定和emqttd開源項目個人了解(24) - emq v2.3.11源碼成熟度如何?

源碼:

https://github.com/emqx/emqx-rel/tree/v2.3.11 https://github.com/emqx/emqx/tree/v2.3.11/src

從原作者那邊了解到,總體還可以,但是做不到99.99%穩定。主要是連接配接記憶體占用沒有保護。

pubsub均衡時很穩定,但是叢集或大量消息向少量訂閱釋出時會崩潰,小機率情況。

EMQ中CPU是公平配置設定給MQTT會話,大量pub消息到一個訂閱,訂閱不會拿到更多cpu,最終導緻消息累積,記憶體溢出當機。

詳情和解決方法請看:我的mqtt協定和emqttd開源項目個人了解(18) - 一個用戶端sub很多主題,出現當機?

崩潰可能發生在網絡波動,大量消息向少量訂閱釋出,容量不夠,叢集腦裂,出現異常訂閱釋出等情況。

是以,用戶端要做好連接配接back off,即連接配接退避,防止連接配接風暴。就是說伺服器崩潰了,重新開機時,要防止海量用戶端同時接入。

繼續閱讀