五月,EMQX 5.0.0-rc.3 & rc.4 版本陸續釋出,該版本為規則引擎新增了對 jq 語法的支援,大幅度精簡了預設配置檔案,並對 Dashboard 選單欄做了進一步的調整優化。EMQX 5.0 的正式釋出已經越來越近。同時,v4.3 與 v4.4 的下一維護版本也進入了測試階段,即將釋出。
雲服務方面,EMQX Cloud 本月海外站新增了 AWS 私網連線以及更多地區部署支援,同時外部認證和資料整合服務也有了更多選擇。
EMQX
EMQX 5.0.0-rc.3 & rc.4 版本概覽
在之前的文章中,我們通過 EMQX 5.0.0-rc.2 從 Dashboard 的角度對 EMQX 5.0 的部分新功能進行了介紹。目前 EMQX 5.0.0-rc.3 和 rc.4 也已釋出,功能愈發完善穩定。
規則引擎支援 jq 語法
現在,我們可以在規則引擎的 SQL 中使用 jq 語法來處理更加複雜的 JSON 資料。我們可以對 JSON 陣列進行索引和切片,可以按條件過濾資料,可以對 Key 進行模糊查詢,可以使用管道命令組合多個過濾器,可以使用內建函式計算 JSON 的陣列的平均值,甚至可以自定義函式來進行更復雜的計算處理。jq 賦予了規則引擎 SQL 更強大的資料處理能力,我們可以訪問 jq Manual 來了解更多用法。以下是 jq 在規則引擎 SQL 中的簡單使用示例:
SELECT
jq('.', payload) as example
FROM
"t/#"
預設配置檔案精簡
在 5.0.0-rc.4 版本中,我們將預設配置檔案精簡到了百行以內,額外的配置檔案示例將幫助使用者瞭解所有配置項的使用。這將有效幫助使用者從大部分不常使用到的配置項中解放出來,僅關注必要的配置項,進一步降低其使用難度。
其他優化
- Dashboard 選單欄調整優化
- Dashboard 支援相對路徑或自定義訪問路徑,方便 NGINX 等反向代理
- 優化了 Dashboard 中速率限制功能的使用,現在可以為 Limiter 配置多個 Buckets,並且在 Listener 中選擇 Limiter
- 優化了 Dashboard 中 TLS 證書的配置方式
- 優化了 Dashboard 中資源狀態的展示邏輯
- 修復了記憶體佔用計算不準確的問題
- 修復了手動離開叢集將導致節點不可用的問題
- 修復了閘道器監聽器的多個錯誤
- 修復了健康檢查相關的多個錯誤
欲下載試用或瞭解更多的優化與錯誤修復資訊,請訪問 EMQX 5.0.0-rc.3 & EMQX 5.0.0-rc.4。
4.3 & 4.4 維護版本升級預覽
v4.3.15 等維護版本即將釋出,預計將帶來二十餘項問題修復以及多項改進,包括 EMQX 支援在包含空格的路徑下啟動,改進 EMQX 在 Windows 下的啟動以避免啟動失敗時無法看到錯誤資訊,增加版本檢查以避免跨大版本熱升級等。此外,還有多項功能增強:
規則引擎支援阿里雲 TableStore
包含版本:企業版 v4.4.4
阿里雲表格儲存(Tablestore)是阿里雲推出的一款雲上的結構化資料儲存產品,提供了物聯網儲存 IoTstore、寬表引擎、多元索引等能力來滿足時序資料、訊息資料、後設資料場景的需求。
EMQX 與 Tablestore 團隊針對產品高效對接都做了專項優化工作,實現了多元的 IoT 資料高效儲存整合。通過 Tablestore 一體化架構,為 IoTstore 提供大規模、免運維的低成本、易擴充套件的一站式解決方案,有效解決了資料庫產品的技術選型、分類儲存等技術難點。
目前 EMQX 規則引擎 Tablestore 整合已經通過 10W TPS 吞吐效能測試,可以正式投入生產。
規則引擎 SQL 支援更多函式
包含版本:開源版 v4.3.15、開源版 v4.4.4、企業版 v4.3.10、企業版 v4.4.4
時間轉換函式
現在,我們可以在規則引擎 SQL 中使用
format_date
函式將傳入的整型時間戳或自動換取當前時間戳轉換為指定格式的時間字串,或者使用date_to_unix_ts
函式將指定格式的時間字串轉換為整型的時間戳。示例:SELECT format_date('nanosecond', '+08:00', '%y-%m-%d %H:%M:%S%Z') as date1 format_date('nanosecond', '+08:00', '%y-%m-%d %H:%M:%S%Z', timestamp) as date2 FROM "t/#"
浮點輸出精度控制函式
增加
float2str/2
函式,支援指定浮點數的輸出精度。
為 Pulsar 新增 Basic 和 JWT 認證支援
包含版本:企業版 v4.3.10、企業版 v4.4.4
我們為 Pulsar 新增了 Basic 和 JWT 認證支援,與 TLS 配合使用,可以獲得更佳的安全性。
支援將 JWT 用於鑑權
包含版本:開源版 v4.3.15、開源版 v4.4.4、企業版 v4.3.10、企業版 v4.4.4
現在,客戶端連線認證時使用的 JWT 可以繼續用於鑑權,以獲得更靈活的許可權管理能力。此功能要求在 JWT 中攜帶符合格式要求的 acl 宣告,詳見官網使用文件。
使用內建資料庫(Mnesia)作為資料來源的認證鑑權支援多條件過濾和模糊查詢
包含版本:開源版 v4.3.15、開源版 v4.4.4、企業版 v4.3.10、企業版 v4.4.4
與查詢客戶端類似,現在使用內建資料庫作為資料來源的認證鑑權功能也提供了這些查詢選項,例如 _like_clientid
,_like_username
,topic
等,其中 _like_clientid
和 _like_username
支援使用子串進行模糊查詢。
支援配置日誌時間格式以相容舊版本中的時間格式
新增 log.formatter.text.date.format
配置項,支援配置為 rfc3339
或格式化字串,即 YYYY-MM-DDTHH:mm:ss.SSSZZ
的形式以相容 4.2 等舊版本日誌中的時間格式。
社群動態
EMQX 團隊於 5 月 19-20 日參加了在瑞典斯德哥爾摩舉行的 2022 Code BEAM 歐洲會議。
EMQ 軟體工程師 William Yang 發表了題為“QUICER:BEAM 的下一代傳輸協議庫”的啟發性主題演講,介紹了世界上第一個由 EMQ 提供支援的 MQTT over QUIC 實現以及為 BEAM 構建的新的開源 NIF 庫 QUICER(GitHub - emqx/quic:用於 Erlang 和 Elixir 的 QUIC 協議)。
EMQ 另一位資料工程師 Dmitrii Fedoseev 則討論瞭如何使用 SNABBKAFFE 測試分散式一致性容錯,介紹了 EMQ 如何成功地將基於跟蹤的方法應用於生產中執行的實際應用程式。
EMQX Cloud
海外站支援建立 AWS PrivateLink
私網連線(PrivateLink)能夠實現 EMQX Cloud 部署所在的專有網路 (VPC)與公有云上的服務建立安全穩定的私有連線,簡化網路架構,實現私網訪問服務,避免通過公網訪問服務帶來的潛在安全風險。
EMQX Cloud 海外站本月新增支援了對 AWS 上部署的 PrivateLink 的連線,將部署所在的 VPC 和在 AWS(海外)資源所在 VPC 連線起來,相當於實現了同一個網路內的通訊。
海外站支援更多區域部署
EMQX Cloud 海外站建立部署的區域選擇中,AWS 新增香港地區,Google Cloud Platform 新增臺灣地區,費用和海外其他地區保持一致。涉及出海業務的企業使用者將有更多部署選擇。
外部認證支援 Redis
新增支援使用者使用存放在自己的 Redis 服務中的資料來進行客戶端的認證和訪問控制。目前 EMQX Cloud 共支援 HTTP、 MySQL、 PostgreSQL、Redis 四種服務用於認證的和訪問控制。瞭解更多關於外部認證的內容。
資料整合新增 TDengine 和 Lindorm
資料整合新增了新的資源連線: TDengine 和 Lindorm 。TDengine 是一款開源、高效能、分散式、支援 SQL 的時序資料庫,目前國內站和海外站都已支援。Lindorm 是阿里雲的一款支援寬表、時序、物件、檔案、佇列、空間等多種資料模型的資料庫,目前暫時只支援國內站。
EMQX Kubernetes Operator
五月,用於在 Kubernetes 上自動化部署、配置、管理 EMQX 叢集的工具的 EMQX Operator 釋出了 1.1.8 版本,提供瞭如下新功能:
功能更新
- 將 resource 操作日誌完善為 events 事件記錄
- 將 EMQX Operator 中部分 log 轉換成 event
- EMQX Operator resource checklist 實現
- Better EMQX Custom Resource Status
完善優化
- 修復了映象 tag 問題,支援基於私有倉庫的 tag
- 修復了更新 .spec.listener.certificate 後,restart listener 異常問題
測試驗證
- EMQX Operator 基於雲環境實現 EMQX 100 萬連線、50 萬 TPS 的壓力測試
即將到來
EMQX Operator 1.2 和 v1beta3 APIVersion 正在開發中,v1beta3 APIVersion 將帶來更合理的 .spec 結構, 1.2 版本將引入更完善的事件日誌以及叢集狀態描述。
版權宣告: 本文為 EMQ 原創,轉載請註明出處。