基于MQTT的消息推送环境搭建

目标实现一个简单的消息推送平台

服务器(Ubuntu 14.04.1 LTS)基于EMQTTD(https://github.com/emqtt/emqttd)源码实现,客户端基于android。

1、EMQTTD是erlang实现的,所以第一步先搭建erlang的开发环境

  如果直接选择apt-get install 安装erlang OTP的,版本较低R15,运行最新的EMQTTD会有问题。建议直接下载最新源码编译安装,步骤如下

  apt-get install build-essential

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

2、下载EMQTTD,安装编译

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

  cd emqttd && make && make dist

3、安装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

4、客户端(https://github.com/greatitman/mqttclient.git)

  现在安装即可

5、功能测试

  客户端运行后会订阅响应的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

6、性能测试

  下载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

原文地址:https://www.cnblogs.com/agiletiger/p/4921275.html