[emqttd] (EMQ)是采用Erlang語言開發,全面支援MQTT V3.1.1協定,支援叢集和大規模連接配接的開源MQTT消息伺服器。 [emqttd]緻力于釋出一個基于Erlang/OTP語言平台,企業級穩定可靠,完全開源免費,可叢集支援大規模物聯網、移動網際網路連接配接的MQTT消息伺服器。

# 完整的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