MQTT5.0是新一代的標準
Better Error Handling for More Robust System
是說更好的冗錯性楣号、更穩(wěn)定竖席、健壯的系統(tǒng)敬肚。
- 錯誤調式的易用性優(yōu)化
- 消息過期艳馒、狀態(tài)過期
- 流量控制:限制消息大小员寇、限制發(fā)送頻率
More Scalability for Cloud Native Computing
更好的擴展性
- 共享訂閱
- Topic主題別名
Greater Flexibility and Easier Integration
更好的靈活性和易用性
- 用戶屬性擴展
- Payload標識(是否為UTF8字符串,binary or text)& Content Type
總而言之陆爽,MQTTV5解決了MQTTv3.1.1協(xié)議的諸多限制扳缕,逐漸成為IoT全行業(yè)的通訊協(xié)議標準躯舔。
(上述總結源自:https://www.hivemq.com/blog/mqtt5-essentials-part3-upgrade-to-mqtt5-now/)
擁抱MQTT5.0的變化
上述文章給MQTT5.0的新特性做了分類,和我不謀而合丧失。對其中的特性劃分惜互,我也有自己的一些認識:
- 性能優(yōu)化方面是一致的琳拭,有CleanSssion優(yōu)化白嘁、消息TTL挠乳、流控。
- 易用性方面盟蚣,增加了原因碼卖怜、訂閱標識符和選項、主題別名奄抽、服務重定向
- 擴展性方面甩鳄,增加了Payload標識、Content-type档泽、用戶屬性揖赴、Request/Response
(這里易用性和擴展性的劃分剛好和老外的文章相反,不知道是不是中西文化的差異)
- 安全性方面渐北,增加了客戶端增強認證
MQTT v3過渡到MQTT v5
通過對MQTTV3的長期使用和總結铭拧,我將MQTTV5的特性支持做了排序:
- 可優(yōu)先選擇支持性能方面的特性,原因不用多說搀菩,服務穩(wěn)定是首要目標,能夠增強穩(wěn)定的基礎上降低成本消耗诵闭,何樂不為。
- 根據(jù)客戶端使用習慣瘟芝,需要盡快支持原因碼褥琐、增強認證、Request/Response
- 共享訂閱敌呈、主題別名、訂閱標識符這些吭练,我放在了第三位析显。雖然這些功能看似很酷,但是即便服務器未支持也不影響客戶端使用
- 用戶屬性谷异,該功能擴展性較強,可根據(jù)實際情況選擇開發(fā)