Erlang MQTT消息服務器:emqttd

jopen 9年前發布 | 57K 次閱讀 emqttd 消息系統

[emqttd]是采用Erlang語言開發,全面支持MQTT V3.1.1協議,支持集群和大規模連接的開源MQTT消息服務器。 [emqttd]致力于發布一個基于Erlang/OTP語言平臺,企業級穩定可靠,完全開源免費,可集群支持大規模物聯網、移動互聯網連接的MQTT消 息服務器。

Erlang MQTT消息服務器:emqttd

 # 完整的MQTT V3.1/V3.1.1協議支持

* 全面支持MQTT V3.1/V3.1.1協議規范

* QoS0/1/2消息發布與訂閱支持

* Session管理和離線消息支持

* Last Will消息支持

* Retained消息支持

* TCP/SSL連接支持

* MQTT over WebSocket連接支持

* HTTP Publish消息發布接口

* ‘$SYS/#’系統Topic支持

* 基于ClientId、IP地址認證支持

* 基于用戶名、密碼認證支持

* 基于ClientId、用戶名、IP地址的ACL訪問控制

* 多服務器集群(Cluster)支持

* 多節點橋接(Bridge)支持

* 單節點50萬+客戶端連接支持

* 插件擴展架構支持

* 通過Eclipse Paho項目的服務器互操作性測試

# 完全開放源碼,多節點集群支持

* 開放源碼, MIT開源軟件許可協議

* 多服務器集群, 大規模客戶端連接支持

* 安裝簡便, 下載解壓即可啟動運行

* 插件架構, 定制或擴展服務器功能

# 快速下載安裝

 emqttd可跨平臺運行在Linux、FreeBSD、Windows與 Mac OS X。[http://emqtt.io/downloads]頁面下載程序安裝包。

解壓tgz格式程序包,到安裝目錄啟動。例如:

tar xvf emqttd-ubuntu64-0.8.1-alpha-20150529.tgz && cd emqttd

控制臺模式啟動,用于調試。控制臺可以打印所有收發的MQTT報文

./bin/emqttd console

守護進程模式啟動,默認占用1883端口用于MQTT連接,8083端口用于HTTP接口

./bin/emqttd start

查看運行狀態

./bin/emqttd_ctl status

停止

./bin/emqttd stop

下載源碼編譯:

git clone https://github.com/emqtt/emqttd.git

cd emqttd && make && make dist

HTTP消息發布接口測試

emqttd支持通過HTTP接口從應用程序向MQTT客戶端發布消息:

curl -v --basic -u user:passwd -d "qos=1&retain=0&topic=/a/b/c&message=hello" -k http://localhost:8083/mqtt/publish

URL:  HTTP POST http://host:8083/mqtt/publish

參數:

* qos:      QoS(0, 1, 2)

* retain:   Retain(0, 1)

* topic:   Topic

* message:  Message

項目主頁:http://www.baiduhome.net/lib/view/home/1432969492629

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!