源碼:
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,即連接配接退避,防止連接配接風暴。就是說伺服器崩潰了,重新開機時,要防止海量用戶端同時接入。