EMQX Enterprise 5.2.0 版本現(xiàn)已正式發(fā)布!
新版本帶來了一系列重磅更新,最令人矚目的是可拖拽的可視化 Flow 設(shè)計器,它可以幫助企業(yè)快速創(chuàng)建、測試和部署數(shù)據(jù)集成。同時,我們新增了對 Amazon Kinesis 和 Azure Event Hubs 的支持,實現(xiàn)了海量物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)與云服務(wù)的無縫連接。此外,新版本還進行了多項改進以及 BUG 修復(fù),進一步提升了整體性能和穩(wěn)定性。
Flow 設(shè)計器是一個可視化界面,它在早些發(fā)布的數(shù)據(jù)集成可視化查看工具 Flows 基礎(chǔ)上,增加了創(chuàng)建和編輯的能力。
它允許用戶使用更簡單的方式,通過拖拽的方式自由編排規(guī)則和數(shù)據(jù)橋接,在幾分鐘內(nèi)即可實現(xiàn)消息與事件的實時處理,并與外部 40 余種數(shù)據(jù)系統(tǒng)的集成。創(chuàng)建完成后,用戶可以通過統(tǒng)一的視圖清晰地管理數(shù)據(jù)集成流程,并監(jiān)控每個處理節(jié)點的狀態(tài)。
Flow 設(shè)計器底層仍使用規(guī)則 SQL 與數(shù)據(jù)橋接,繼承了 EMQX 強大的數(shù)據(jù)處理能力和優(yōu)異性能。同時,它還允許用戶在 UI 和 SQL 編輯器之間自由切換,既保留了習(xí)慣的 SQL 編輯方式,也提供了更簡單快速的上手能力。相比之前的版本,現(xiàn)在用戶無需熟悉 EMQX 規(guī)則 SQL 語法,就可以通過簡單的 UI 進行業(yè)務(wù)開發(fā),這有助于用戶更輕松地應(yīng)用 EMQX 的數(shù)據(jù)處理能力實現(xiàn)業(yè)務(wù)創(chuàng)新。
Webhook 是 EMQX 最常用的數(shù)據(jù)集成方式之一。為進一步降低使用門檻,EMQX 最新版本新增了獨立的 Webhook 配置頁面,可大幅簡化將數(shù)據(jù)發(fā)送到外部 HTTP 服務(wù)器的配置流程。
過去,實現(xiàn)這一功能需要編寫規(guī)則 SQL 并配置數(shù)據(jù)橋接,這要求用戶對 SQL 語法比較熟悉,特別是在處理客戶端事件時,需要了解事件在 SQL 語句中的映射關(guān)系(如下列 SQL 所示),增加了學(xué)習(xí)難度。
SELECT * FROM "$events/client_connected"
全新的 Webhook 配置頁支持純表單操作,用戶可通過簡單的點選方式選擇需要發(fā)送的消息或事件。這樣極大地降低了使用門檻,用戶無需理解 EMQX 的內(nèi)部規(guī)則語言就可以快速建立事件或消息到外部 Web 服務(wù)的連接。
EMQX 的數(shù)據(jù)橋接提供了豐富和全面的參數(shù)配置,以便滿足企業(yè)級消息消息中間件對性能、穩(wěn)定性以及不同業(yè)務(wù)場景下靈活配置的需求。通過調(diào)整對應(yīng)功能的參數(shù),可以實現(xiàn)時延與寫入速度之間的平衡,或者增加更多的連接實現(xiàn)更高吞吐(相應(yīng)的對外部數(shù)據(jù)服務(wù)的壓力會更大)。
但是我們也注意到,對于大多數(shù)場景來說,一些參數(shù)并不需要進行調(diào)整,使用 EMQX 提供的默認(rèn)值即可。因此在此次版本中,我們將高級設(shè)置的方式折疊了這些參數(shù)配置。用戶只需專注在業(yè)務(wù)流程和邏輯設(shè)置上,當(dāng)遇到特定的性能瓶頸或場景需求時,可以打開高級設(shè)置進行參數(shù)微調(diào)。
下圖是簡化后的 Timescale 數(shù)據(jù)橋接創(chuàng)建頁面,用戶僅需關(guān)注連接與數(shù)據(jù)寫入流程配置:
此舉在降低學(xué)習(xí)曲線的同時,仍然保留了 EMQX 對復(fù)雜場景的適應(yīng)能力,讓 EMQX 的數(shù)據(jù)橋接功能對用戶更加友好。Kinesis 是 AWS 上完全托管的實時流數(shù)據(jù)處理服務(wù),可以輕松地進行流數(shù)據(jù)的收集、處理和分析。它可以經(jīng)濟高效地處理任意規(guī)模的實時流數(shù)據(jù),并具有高度的靈活性,能夠低時延的處理來自數(shù)十萬個來源的任意數(shù)量的流數(shù)據(jù)。
EMQX 與 Amazon Kinesis 結(jié)合使用,能夠?qū)崿F(xiàn)海量 IoT 設(shè)備連接,進行實時消息進行采集、傳輸,并通過 EMQX 數(shù)據(jù)集成連接到 Amazon Kinesis Data Streams,進行實時分析與復(fù)雜的流處理。
利用 Kinesis 構(gòu)建的流數(shù)據(jù)管道,可以大幅降低 EMQX 與 AWS 平臺之間的接入難度,為用戶提供更豐富、靈活的數(shù)據(jù)處理方案。夠助力 EMQX 用戶在 AWS 上構(gòu)建功能完備、性能卓越的數(shù)據(jù)驅(qū)動型應(yīng)用。
Event Hubs 是由 Azure 提供的是一種簡單、可信且可擴縮的完全托管型實時數(shù)據(jù)引入服務(wù)。每秒能夠處理數(shù)百萬個流式事件,從而構(gòu)建動態(tài)數(shù)據(jù)管道并迅速應(yīng)對業(yè)務(wù)挑戰(zhàn)。Event Hubs 支持根據(jù)使用需求動態(tài)調(diào)整吞吐量按需付費,并提供了強大的安全和隱私保護。
Event Hubs 可作為 EMQX 與 Azure 豐富的云服務(wù)應(yīng)用之間的數(shù)據(jù)通道,將物聯(lián)網(wǎng)數(shù)據(jù)集成到 Azure Blob Storage、Azure Stream Analytics 以及部署在 Azure 虛擬機上的各類應(yīng)用和服務(wù)當(dāng)中。
借助 Event Hubs 構(gòu)建的低延遲傳輸通道,可以簡化 EMQX 與 Azure 平臺之間的接入,幫助用戶快速實現(xiàn)海量物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)與 Azure 的連接。讓用戶更便捷的獲得云計算帶來的數(shù)據(jù)分析和智能化能力,構(gòu)建功能強大的數(shù)據(jù)驅(qū)動型應(yīng)用。
HStream 是 EMQ 專為物聯(lián)網(wǎng)數(shù)據(jù)存儲和實時處理而推出的開源、云原生分布式流數(shù)據(jù)平臺。
它通過專門設(shè)計的分布式容錯日志存儲集群,能夠可靠地存儲數(shù)百萬個設(shè)備數(shù)據(jù)流,并提供一級訂閱支持,可以實時推送最新數(shù)據(jù)流到您的應(yīng)用。并在需要時隨時回放和消費數(shù)據(jù)流。
HStream 獨特的融合架構(gòu)設(shè)計,結(jié)合 EMQX 海量設(shè)備和多協(xié)議接入能力,允許用戶能夠在一個平臺上高效完成對所有實時消息、事件以及其他數(shù)據(jù)流的攝取、存儲、處理和分發(fā),為物聯(lián)網(wǎng)數(shù)據(jù)流的運維管理和實時應(yīng)用開發(fā)提供了便捷性。
GreptimeDB 是一個開源、分布式、云原生時序數(shù)據(jù)庫,融合時序數(shù)據(jù)處理和分析能力。GreptimeDB 專為云而生,充分利用云的優(yōu)勢,如彈性、可擴展性和高可用性。
GreptimeDB 與 EMQX 集成使用,能夠?qū)崿F(xiàn)海量物聯(lián)網(wǎng)數(shù)據(jù)的長期存儲與實現(xiàn)查詢,以及隨業(yè)務(wù)發(fā)展的靈活擴展。無限的歷史數(shù)據(jù)存儲,針對時序數(shù)據(jù)優(yōu)化的 SQL,兩者能夠滿足對長時間范圍內(nèi)海量數(shù)據(jù)集的探索與挖掘。用戶可以隨時查詢?nèi)我鈺r間段的歷史數(shù)據(jù),并通過 SQL 即時洞察時序趨勢,從繁雜數(shù)據(jù)中提取核心業(yè)務(wù)價值,并實現(xiàn)數(shù)據(jù)驅(qū)動的智能決策。
Sparkplug 是工業(yè)物聯(lián)網(wǎng)領(lǐng)域熱門的一個開源規(guī)范,它基于 MQTT 提供的一套明確定義的 Payload 和狀態(tài)管理體系,實現(xiàn)了互操作性和一致性。
Sparkplug B 簡化了 MQTT 命名空間,用于監(jiān)控、控制、和數(shù)據(jù)采集系統(tǒng)(SCADA)、實時控制系統(tǒng)以及設(shè)備。它采用 Protobuf 編碼數(shù)據(jù),以實現(xiàn)輕便、高效和靈活的數(shù)據(jù)交換。 EMQX 的最新版本在規(guī)則引擎 SQL 中添加了 Sparkplug B 消息編解碼函數(shù),使得在 EMQX 中,用戶可以直接使用 sparkplug_encode
和 sparkplug_decode
函數(shù),從而更加便捷地進行 Sparkplug B 消息到 JSON 格式的編碼和解碼。
解碼后的 JSON 數(shù)據(jù)可以通過規(guī)則引擎其他函數(shù)進行復(fù)雜處理,并集成到外部數(shù)據(jù)橋接中,以實現(xiàn)豐富的業(yè)務(wù)集成。這有助于簡化工業(yè)物聯(lián)網(wǎng)中不同設(shè)備的互操作性,提高開發(fā)效率,構(gòu)建靈活可擴展的物聯(lián)網(wǎng)應(yīng)用。
OpenTelemetry 是 CNCF 下的一個開源可觀測性框架,旨在于使用標(biāo)準(zhǔn)化的數(shù)據(jù)格式,將程序中的 traces、metrics 和 logs 等可觀察性數(shù)據(jù)發(fā)送到后端組件。
本次發(fā)布中 EMQX 添加了對 metrics 集成的支持,為 EMQX 提供開箱即用的監(jiān)控能力。有助于更好地觀察、分析和診斷 EMQX 集群運行狀況。
未來版本中,EMQX 計劃進一步支持 OpenTelemetry 的 traces 與 logs 集成,通過分布式鏈路追蹤與日志關(guān)聯(lián),直觀分析請求在 EMQX 中的處理情況,實現(xiàn)端到端的分布式診斷能力。這將進一步豐富 EMQX 的監(jiān)控數(shù)據(jù),幫助用戶更全面和細致地監(jiān)測系統(tǒng)運行狀態(tài),快速定位并解決異常。
性能始終是 EMQX 關(guān)注的一部分,本次發(fā)布中我們進行了以下提升:
更新 Mria 版本,通過合并索引更新提升了保留消息發(fā)布速度。
規(guī)則引擎使用主題索引加速規(guī)則匹配,大幅提升了 EMQX 處理大量規(guī)則的性能。
新增節(jié)點池和通道池配置,調(diào)優(yōu)這些配置在高延遲的集群互聯(lián)網(wǎng)路可顯著提升 EMQX 性能。
除了前面介紹的主要功能外,各組件均有針對性功能升級,滿足用戶日常運維和使用需求:
認(rèn)證、授權(quán)以及數(shù)據(jù)橋接中的 Redis 連接支持設(shè)置用戶名,以便連接到如 AWS MemoryDB 等需要用戶名的 Redis 服務(wù)中。
Kafka 數(shù)據(jù)橋接新增消費者模式動態(tài)設(shè)置MQTT主題功能,可以實現(xiàn)更靈活的 Kafka-MQTT 主題映射,動態(tài)控制數(shù)據(jù)下發(fā)的 MQTT 目標(biāo)主題。
GCP PubSub 數(shù)據(jù)橋接現(xiàn)在支持設(shè)置 PubSub 消息的屬性和排序鍵,可以利用這些特征實現(xiàn)更豐富的消息路由和有序傳輸。
為 RabbitMQ 數(shù)據(jù)橋接添加 TLS 連接支持。
更新了 jq
依賴版本,修復(fù)了一些小的安全問題。
客戶端認(rèn)證與授權(quán)支持使用 LDAP 作為數(shù)據(jù)源。
發(fā)布了適用于 Amazon Linux 2023 與 Debian 12 的安裝包。
優(yōu)化了 Prometheus 指標(biāo)集成時消息、過載保護、授權(quán)、認(rèn)證等功能的指標(biāo),使其更加清晰豐富。
以下是主要 BUG 修復(fù)列表:
修復(fù)了 EMQX 關(guān)閉過程中記錄無關(guān)錯誤日志的問題。#11065
修復(fù)了啟用 debug/trace 時客戶端無法發(fā)送包含大尺寸 payload 消息的問題。 #11279
修復(fù)了在發(fā)送帶有非零 ack_flag
的 CONNACK 數(shù)據(jù)包時 packets_connack_sent
指標(biāo)未增加的問題。#11520
添加了對 API 中時間戳的最大值的檢查,以確保它是有效的 Unix 時間戳。#11424
更多功能變更和 BUG 修復(fù)請查看 EMQX Enterprise 5.2.0 更新日志。
聯(lián)系客服