EMQX 是開源百萬級分佈式MQTT 訊息伺服器(MQTT Messaging Broker),用於支持各種接入標準MQTT 協議的設備,實現從設備端到伺服器端的訊息傳遞,以及從伺服器端到設備端的設備控制訊息轉發。從而實現物聯網設備的數據採集,和對設備的操作和控制。
- 穩定承載大規模的MQTT 客戶端連接,單伺服器節點支持50萬到100萬連接。
- 分佈式節點集群,快速低延時的消息路由,單集群支持1000萬規模的路由。
- 消息伺服器內擴展,支持定制多種認證方式、高效存儲消息到後端數據庫。
- 完整物聯網協議支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有協議支持。
EMQX 與物聯網平台的關係是什麼?
典型的物聯網平台包括設備硬體、數據採集、數據存儲、分析、Web / 移動應用等。EMQX 位於數據採集這一層,分別與硬體和數據存儲、分析進行交互,是物聯網平台的核心:前端的硬體通過MQTT 協議與位於數據採集層的EMQX 交互,通過EMQX 將數據採集後,通過EMQX 提供的數據接口,將數據保存到後台的持久化平台中(各種關係型數據庫和NOSQL 數據庫),或者流式數據處理框架等,上層應用通過這些數據分析後得到的結果呈現給最終用戶。
EMQX 是一款開源 (opens new window)的大規模分散式MQTT 訊息伺服器,功能豐富,專為物聯網和即時通訊應用而設計。EMQX 5.0 單集群支援MQTT 並發連線數高達1 億條,單一伺服器的傳輸與處理吞吐量可達每秒百萬MQTT 訊息,並保證延遲在亞毫秒級。
EMQX 支援多種協議,包括MQTT (3.1、3.1.1 和5.0)、HTTP、QUIC 和WebSocket 等,保證各種網路環境和硬體設備的可存取性。EMQX 還提供了全面的SSL/TLS 功能支持,例如雙向認證以及多種身份驗證機制,為物聯網設備和應用程式提供可靠和高效的通訊基礎設施。
內建基於SQL 的規則引擎 (opens new window),EMQX 可以即時提取、過濾、豐富和轉換物聯網資料。此外,EMQX 採用了無主分散式架構,以確保高可用性和水平擴展性,並提供操作友善的使用者體驗和出色的可觀測性。
EMQX 擁有來自50 多個國家的20,000 多家企業用戶,連接全球超過1 億台物聯網設備,服務企業數位化、即時化、智慧轉型。
產品優勢
開放原始碼:基於Apache 2.0 授權完全開源,自2013 年起200+ 開源版本迭代。
MQTT 5.0:100% 支援MQTT 5.0 和3.x 協定標準,更好的伸縮性、安全性和可靠性。
海量連接:單節點支援200 萬並發MQTT 連接,單一EMQX 叢集可擴展至支援1,000 萬並發MQTT 連接。
高效能:單節點支援每秒即時接收、移動、處理與分發數百萬個的MQTT 訊息。
低時延:基於OTP 軟即時的運行時系統設計,訊息分發與投遞時延低於1 毫秒。
高可用:採用Masterless 的大規模分散式叢集架構,實現系統高可用和水平擴展。
連接
- 完整支援MQTT v3.1、v3.1.1 和v5.0 協定規範
- QoS 0、QoS 1、QoS 2 訊息支持
- 持久會話和離線訊息支持
- 保留訊息(Retained Message)支持
- 遺囑訊息(Will Message)支持
- 共享訂閱支持
- $SYS/系統主題支援
- MQTT 支援4 種傳輸協議
- TCP
- TLS
- WebSocket
- HTTP 訊息發布介面
- 閘道
- CoAP
- LwM2M
- MQTT-SN
- Stomp
- GB/T 32960(企業版)
- JT/T 808(企業版)
- OCPP (Enterprise edition)
- 更多MQTT 擴充支援:
- 延遲發布
- 代理訂閱
- 主題重寫
安全
- 基於使用者名稱/密碼的身份認證,支援使用內建資料庫、Redis、MySQL、PostgreSQL、MongoDB 作為資料來源,也支援使用HTTP Server 提供認證服務
- 基於JWT 的身份認證與權限控制,支援JWKs
- MQTT 5.0 增強認證
- PSK 身份驗證
- 基於Client ID、IP 位址,使用者名稱的存取控制,支援使用內建資料庫、Redis、MySQL、PostgreSQL、MongoDB 作為資料來源,也支援使用HTTP Server 提供授權服務
- 客戶端黑名單支持
可伸縮性
- 多節點叢集(Cluster)
- 支援手動、dns、etcd、k8s 集群發現方式集群
- 多伺服器節點橋接(Bridge)
數據集成
- SQL 語法資料集成,即時提取、過濾、豐富和轉換MQTT 訊息或內部事件為使用者所需格式,並將其發送到外部資料平台
- 透過MQTT 與其他Broker 或物聯網平台進行雙向資料橋接(如EMQX Cloud,AWS IoT Core,Azure IoT Hub)
- 透過Webhook 與其他應用程式集成
- 30+ 企業系統集成,包含Kafka、各類SQL / NoSQL / 時序資料庫以及SAP 等企業系統(企業版)
可靠性
- 過載保護
- 訊息速率限制
- 連線速率限制
可觀測性
- 客戶端線上狀態查詢
- 叢集狀態與指標查詢
- Prometheus 集成
- 自動網路分割區復原
- 線上日誌追蹤(Log Trace)
- 運行時追蹤工具
可擴展性
- 外掛
- 鉤子
- gRPC 鉤子擴展
- gRPC 協定擴展
EMQX 企業版
自託管的雲原生分佈式物聯網接入平台
EMQX Enterprise
企業級的MQTT 訊息平台,具有先進的功能,更高的可用性和可靠性。
- MQTT over QUIC
- 與40 多種企業系統雙向資料集成
- 稽核日誌& 單一登入(SSO)
- 文件傳輸
- 訊息編解碼
- 7x24 技術支持
EMQX Cloud
全託管的MQTT 消息雲服務
Serverless
輕鬆幾步即可獲得一個全託管、可伸縮的Serverless MQTT 服務。
– 按量計費
– 每月免費的使用額度
– 最高1000 同時在線連接
– 數據集成
– 自動伸縮
– 5x8 技術支持
專有版
專有雲端伺服器環境下全託管的MQTT 服務。包含豐富的進階功能,適合各種類型的業務需求。
– 14 天免費試用
– 主流雲端平台多區域部署
– 多種連接規格可選,連接無上限
– VPC 對等連接, 資料整合等更多功能
– 40+ 種完備的資料整合鏈路
– 7x24 技術支持
BYOC
(Bring Your Own Cloud)
在您自己的雲端上部署EMQX 集群,並交由EMQX 團隊託管。兼顧雲端服務的便利性和您自己資料的安全性。
– 部署在自己的雲端上
– 可自訂伺服器規格
– 資料安全可控
– 靈活的部署方式
– 40+ 種完備的資料整合鏈路
– 7x24 技術支持
版本比較表 ( 點擊圖片 可放大觀看 )
EMQX 推薦部署的操作系統是什麼?
EMQ X 支持跨平台部署在Linux、Windows、MacOS、ARM 嵌入系統,生產系推薦在CentOS、Ubuntu、Debian 等Linux 發行版上部署。