SMQTTX是一款高效能&開源的MQTT伺服器,支援單機、容器化、叢集部署,支援多種協議,具備低延遲,高吞吐量,支援百萬TCP連線。
MQTT協定提供了一種使用發布/訂閱模型執行訊息傳遞的輕量級方法。這使得它適用於物聯網訊息傳遞,如低功耗感測器或手機、嵌入式電腦或微控制器等行動裝置。
SMQTTX是一個開源mqtt訊息代理伺服器,它實作了MQTT協定3.1.1和3.1。 SMQTTX是輕量級,適用於從低功耗單板電腦到全伺服器的所有裝置。
SMQTTX非常友善地支援快速配置,對於java應用可以非常容易完成二次開發,並且擁有高效能高吞吐量的mqtt服務。
SMQTT基於reactor-netty(spring-webflux底層依賴) 開發,底層採用Reactor3反應器模型,支援單機部署,支援容器化部署,具備低延遲,高吞吐量,支援百萬TCP連接,同時支援多種協定交互,是一款非常優秀的消息中間件!
smqtt目前擁有的功能如下
1、訊息品質等級實現(支援qos0,qos1,qos2)
2、topicFilter支持
topic分級(test/test)
+支援(單層匹配)
*支援(多層匹配)
3、會話訊息
預設記憶體存儲
支援持久化(redis/db)
4.保留訊息
預設記憶體存儲
支援持久化(redis/db)
5、遺囑消息
設備斷線時候觸發
6、客戶端認證
支援spi注入外部認證
7、tls加密
支援tls加密(mqtt連接埠/http連接埠)
8.websocket協定支援x
使用mqtt over websocket
9、http協議交互
支援http介面推播訊息
支援spi擴充http接口
10、SPI介面擴充支持
訊息管理介面(會話訊息/保留訊息管理)
通道管理介面(管理系統的客戶端連線)
攔截器(用戶自訂攔截訊息)
11、叢集支援(gossip協定實作)
12、容器化支持
預設鏡像最新tag: 1ssqq1lxr/smqtt
13、持久化支援(session 保留訊息)
14.規則引擎支持
15.支援springboot starter啟動
16.管理後台
請參考smqtt文件如何啟動管理後台
17、grafana監控集成
支援influxdb
支持prometheus
18、ACL權限管理
對設備、資訪問授權
19、認證模組
支援http
支援匿名
支援固定密碼
支援sql
管理後台
監控頁面
Mqtt監控
Jvm監控
Netty監控