MQTTX 1.9.10 版本現已發佈。本次更新帶來了重要的 Faker.js 升級、對連接斷開和訂閱問題的深度診斷,並增強了 CLI 與 UI 的多項功能。此次更新旨在簡化用戶操作流程,並提升問題排查效率。
點擊此處下載最新版本:https://mqttx.app/zh/downloads
CLI 中的 Faker.js 升級
MQTTX 1.9.10 引入了一項關鍵更新:將 Faker.js 升級到 v8,帶來重大變更。此次升級將影響那些使用自定義模擬腳本的用戶,需要對腳本進行修改以保持與新版本的兼容。
本次更新簡化了地區設置管理,但取消了在現有實例上更改地區設置的能力。詳細的調整指南,請參閱 Faker.js 升級指南。這一更新旨在提高 MQTTX 中模擬功能的精確性和效率。
關於腳本升級的指導,可參考此 PR 示例:適配 Faker.js v8。該示例詳細展示了爲了匹配新版本 Faker.js 所做的調整,爲您的腳本修改提供了實用的參考。
模擬命令支持消息限制
現在,simulate
命令新增了 --limit
參數,這一功能與 bench
命令中的功能相似。此增強功能允許用戶設置要發佈的消息的確切數量,從而對模擬操作進行了更精確的控制。
使用示例:
通過 10 個連接共發佈 100 條消息的模擬命令:
mqttx simulate -sc tesla -c 10 -h broker.emqx.io -t 'testtopic/simulate' -u 'admin' -P 'public' --limit 100
[4/10/2024] [11:13:42 AM] › ℹ Start simulation publishing, scenario: tesla, connections: 10, req interval: 10ms, message interval: 1000ms
✔ success [10/10] - Connected
[4/10/2024] [11:13:44 AM] › ℹ Created 10 connections in 2.111s
[4/10/2024] [11:13:55 AM] › ℹ Published total: 100, message rate: 0/s
參數:
-L, --limit <NUMBER>
:設置要發佈的消息總數。將此設置爲 0 可以發佈無限消息(默認值:0)。
連接與訂閱的診斷增強
MQTTX 1.9.10 版本通過引入 MQTT 5.0 的原因碼,使得對連接斷開或訂閱失敗的原因有了更清晰的反饋。這一改進使得用戶能夠更精確地識別問題,尤其是在處理諸如訂閱 ACL 拒絕或服務器主動斷開連接等情況時。
-
訂閱失敗:現在系統會提示“Not authorized”原因,指出是由於訪問控制限制導致的失敗。
-
斷開連接:系統會標明是由“Administrative action”引起的,幫助用戶明確是由服務器端的操作導致了連接中斷。
這些直接且實用的信息特別適用於使用 MQTT 5.0 的用戶,可簡化問題排查過程,同時增加操作過程的透明度。如需進一步瞭解 MQTT 5.0 的原因碼,請查閱 MQTT 原因碼介紹及快速指南。
新增保存功能優化連接管理
MQTTX 1.9.10 響應了社區用戶的強烈需求,在新建和編輯連接界面新增了保存按鈕。這一改進讓用戶在配置連接過程中能夠臨時保存信息,而無需立即完成所有設置,提高了使用的靈活性和便利性。現在,即使用戶沒有填寫完所有字段,也可以先保存當前的進度,以便後續補充,提升了用戶體驗並加強了應用的實用性。
使用步驟:
在編輯或新建連接界面,用戶可以在右上角連接按鈕旁的下拉菜單中選擇“僅保存”選項。這樣,連接信息將被保存而不是立刻嘗試連接,允許用戶在任何時候返回繼續編輯,從而確保了更加靈活和精確的連接管理。
其他
在本次更新中,我們還包括了幾項改進以提升用戶體驗:
- 多主題訂閱驗證:修復了同時訂閱多個主題時的驗證問題,確保訂閱的準確性。
- 記錄編碼/解碼類型:MQTTX 現在能夠記住用戶選擇的編碼/解碼類型,避免在重啓或切換時重置,這有助於防止消息出現亂碼。
- 改善
sub
命令展示:優化了 CLI 中sub
命令的輸出,使得主題和服務質量(QoS)的展示更爲直觀明瞭。
這些調整旨在進一步簡化操作流程,增強應用的易用性,並提高穩定性。
未來規劃
在 MQTTX 1.9.10 之後的下一階段開發中,我們將專注於提升產品的可視化能力,並引入其他關鍵功能和改進:
- Payload 圖表可視化增強 - MQTTX Viewer:
- 主題樹視圖:增強主題的組織和可視化。
- 差異視圖:輕鬆比較不同的消息或負載。
- 儀表板視圖:提供可定製的 MQTT 活動概覽,以獲取個性化洞見。
- JSON 視圖:改進 JSON 格式數據的處理和顯示。
- 系統主題視圖:專門針對系統相關 MQTT 主題的視圖。
- 支持可配置的斷開連接屬性(MQTT 5.0):通過自定義斷開連接設置來增強連接管理。
- 物聯網場景數據模擬:將此功能帶到桌面客戶端,以簡化物聯網場景測試。
- Sparkplug B 支持:擴展 MQTTX 功能,包括對 Sparkplug B 的特殊支持。
- QoS 0 消息存儲優化:提供可配置選項,減少存儲空間使用。
- MQTT GUI 調試功能:幫助調試 MQTT 通信的新功能。
- 插件功能:引入支持協議擴展(如 CoAP 和 MQTT-SN)的插件系統。
- Avro 消息格式支持:增加對 Avro 消息格式的編碼和解碼能力。
- 腳本測試自動化(流程):簡化自動化測試工作流的創建和管理。