首先我们来看一个简化版的物联网智能灯的框图,其由设备,APP和mqtt broker代理服务器三个部分组成:
这里我们先讨论开源的mqtt broker;贴出一个初次在私有云部署mqtt broke时做的一个mqtt broker使用的开发语言对比的截图:
几种mqtt broker使用的开发语言:
其中是用较多的有Apache Apollo、mosquitto、和emqttd三种,
emqttd是杭州小莉科技,李枫开源的一个基于erlang平台的mqtt代理服务器(部分功能例如数据持久化等需要付费支持);号称单主机可以达到并发 100W设备的性能;本人实测2核4G的配置可以并发5W+;据网友实测8核心/32G内存的主机可以达到100W+ 的并发链接。
Apache Apollo和mosuqitto在2核4G的主机上测试性能明显不如emqttd。
我司使用的私有云部署的emqttd;当然使用的是开源版本,在源码的基础上啃了晦涩的erlang函数式语言,通过二次开发将数据持久化到mysql数据库;数据持久化部分后面的文章会有推送,敬请关注!
下面我们来分享一下简单的三步操作在私有云主机上部署emqttd的步骤(以ubuntu平台为例):
http://www.emqtt.com/docs/v2/install.html#linux
根据文档;
第一步:使用wget http://emqtt.com/static/brokers/emqttd-ubuntu16.04-v2.3.9.zip 命令获取程序包的压缩文件;
第二步:使用unzip emqttd-ubuntu16.04-v2.3.9.zip 命令来解压程序包;
第三步:cd emqttd && ./binemqttd start 命令守护进程模式启动emqttd服务。
emqttd环境部署完成后可以通过控制面板,默认端口18083,用户名admin,密码public;来对emqttd的运行装填进行监控:
OK,期待下次与大家的分享。
领取专属 10元无门槛券
私享最新 技术干货