基於MQTT的消息推送環境搭建

目標實現一個簡單的消息推送平臺android

服務器(Ubuntu 14.04.1 LTS)基於EMQTTD(https://github.com/emqtt/emqttd)源碼實現,客戶端基於android。git

一、EMQTTD是erlang實現的,因此第一步先搭建erlang的開發環境github

  若是直接選擇apt-get install 安裝erlang OTP的,版本較低R15,運行最新的EMQTTD會有問題。建議直接下載最新源碼編譯安裝,步驟以下web

  apt-get install build-essential瀏覽器

  sudo apt-get install libncurses5-dev
  sudo apt-get install libssl-dev
  ./configure && make
  sudo make install服務器

二、下載EMQTTD,安裝編譯websocket

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

  cd emqttd && make && make distsocket

三、安裝EMQTTD插件(最新版本已經集成插件)性能

  cd plugins/
  git clone https://github.com/emqtt/emqttd_dashboard.git
  cd ..
  make
  ##加載插件
  cd rel/emqttd
  ./bin/emqttd_ctl plugins load emqttd_dashboard

  安裝完畢後就能夠經過瀏覽器訪問emqttd(http://localhost:18083),在websocket一欄能夠建立客戶端進行訂閱和發佈消息。
  ./bin/emqttd_ctl users add lxs lxs

四、客戶端(https://github.com/greatitman/mqttclient.git)

  如今安裝便可

五、功能測試

  客戶端運行後會訂閱響應的topic,這時能夠經過插件或curl命令進行消息推送操做

  curl -v --basic -u root:passwd -d "qos=1&retain=0&topic=tokudu&message=hello EMQTTD" -k http://172.22.197.150:8083/mqtt/publish

六、性能測試

  下載emqttd benchmark(git clone https://github.com/emqtt/emqtt_benchmark

  編譯,直接執行make

  進行測試:

  ./emqtt_bench_sub --help
  ./emqtt_bench_sub -c 50000 -i 10 -t bench/%i -q 2
  ./emqtt_bench_pub -c 100 -I 10 -t bench/%i -s 256

  

done

相關文章
相關標籤/搜索