目錄
EMQ X 簡介
EMQ X 基於 Erlang/OTP 平臺開發的 MQTT 消息服務器,是開源社區中最流行的 MQTT 消息服務器,EMQ X 主要有以下的特點,
- 基於 Apache 2.0 協議許可,完全開源。EMQ X 的代碼都放在 Github 中,用戶可以查看所有源代碼。
- EMQ X 3.0 支持 MQTT 5.0 協議,是 開源社區中第一個 支持 5.0 協議規範的消息服務器,並且完全兼容 MQTT V3.1 和 V3.1.1 協議。除了 MQTT 協議之外,EMQ X 還支持別的一些物聯網協議(具體請參見下文的 EMQ X Broker 產品功能介紹)。
- 單機支持百萬連接,集羣支持千萬級連接;毫秒級消息轉發。EMQ X 中應用了多種技術以實現上述功能,
- 利用 Erlang/OTP 平臺的軟實時、高併發和容錯
- 全異步架構
- 連接、會話、路由、集羣的分層設計
- 消息平面和控制平面的分離等
- 擴展模塊和插件,EMQ X 提供了靈活的擴展機制,可以實現私有協議、認證鑑權、數據持久化、橋接轉發和管理控制檯等的擴展
- 橋接:EMQ X 可以跟別的消息系統進行對接,比如 EMQ X Enterprise 版本中可以支持將消息轉發到 Kafka、RabbitMQ 或者別的 EMQ 節點等
- 共享訂閱:共享訂閱支持通過負載均衡的方式在多個訂閱者之間來分發 MQTT 消息。比如針對物聯網等數據採集場景,會有比較多的設備在發送數據,通過共享訂閱的方式可以在訂閱端設置多個訂閱者來實現這幾個訂閱者之間的工作負載均衡
EMQ X 版本
EMQ X 現在有三種版本,用戶可以根據自己的需求選擇不同的版本。
EMQ X Broker
EMQ X 開源版本,用戶可以免費下載和使用,包含了以下功能。
- 十萬級併發連接能力
- 常見物聯網協議支持
- MQTT
- MQTT-SN
- CoAP
- LwM2M
- WebSocket
- STOMP
- TCP
- 認證鑑權
- 集羣、高可用
- Docker 部署
- 社區服務支持
EMQ X Enterprise
EMQ X 商業版本,用戶可以通過網站來 下載企業評估版 進行試用。
- 開源版的全部功能
- 百萬級併發連接能力
- 數據持久化:可以將消息保存到數據庫,目前支持的數據庫爲,
- Redis
- MongoDB
- MySQL
- PostgreSQL
- Cassandra
- 數據橋接,支持將消息轉發到 Kafka、RabbitMQ 或者別的 EMQ 節點
- LoRaWAN 支持
- Kubernates 部署
- 安全 - 提供完整的安全連接方案
- 監控,提供機器、EMQ X 和 Erlang 虛擬機級別的監控功能
- 商業化技術支持
EMQ X Platform
EMQ X 平臺版本,提供超大規模的物聯網連接解決方案。
- Enterprise 版本的所有功能
- 千萬級併發連接能力
- 大規模、跨數據中心解決方案諮詢與實施
- 提供物聯網平臺全生命週期中需要的各種服務(諮詢、培訓、架構設計、定製開發、平臺建設、功能測試與運維服務)
參考資料
EMQ X 簡介:https://docs.emqx.io/tutorial/latest/cn/quick_start/whats_emqx.html