emqttd

消息中间件技术

北城以北 提交于 2020-05-01 00:06:24
作者:carter(佘虎),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 1.1概念 MQTT(MQ Telemetry Transport) 消息队列遥测传输协议是IBM开发的一种网络应用层的协议,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器,卫星等移动设备。 1.2优点 1.2.1非常低的通信开销 MQTT 的独特之处在于,它的每消息标题可以短至 2 个byte。MQ 和 HTTP 都拥有高得多的每消息开销。对于 HTTP,为每个新请求消息重新建立 HTTP 连接会导致重大的开销。MQ 和 MQTT 所使用的永久连接显著减少了这一开销。 1.2.2低功耗,省电 您需要能够及时地将通知传递给客户。为此,必须采用某种定期轮询或推送方法;从电池、系统负载和带宽角度讲,推送是最佳解决方案。MQTT 是专门针对低功耗目标而设计的。HTTP 的设计没有考虑此因素,因此增加了功耗。 1.2.3单机百万级并发 在 HTTP 堆栈上,维护数百万个并发连接,需要做许多的工作来提供支持。尽管可以实现此支持,但大多数商业产品都为处理这一数量级的永久连接而进行了优化。IBM 提供了 IBM MessageSight

esp8266物联网开发三:MQTT左右逢源

非 Y 不嫁゛ 提交于 2020-04-26 14:06:00
玩够了oled,wifi killer,小爱同学远控等等玩意儿之后,我们需要更近一步,这节就讲解如何在本机进行MQTT环境的搭建及消息的收发。至于MQTT是什么,相信大家很多人都百度一下就知道原理了,不会的可以补补课,我就不细讲了。 一、工具准备 MQTT服务端下载地址: https://links.jianshu.com/go?to=http%3A%2F%2Femqtt.com%2Fstatic%2Fbrokers%2Femqttd-windows7-v2.3.9.zip MQTT客户端下载地址: https://links.jianshu.com/go?to=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fworkswithweb%2Fmqttbox%2Flatest%2Fwindows%2FMQTTBox-win.exe 下载完毕后,将这两个进行安装即可。 二、搭建服务端 首先,解压服务端文件到D:\soft\emqttd\bin目录,然后利用cmd导向到此目录后,执行emqttd start命令并回车,稍等片刻,即可启动mqtt服务端。 然后,在浏览器中输入: http://127.0.0.1:18083/ 即可打开如图所示的服务端界面,需要注意的是,此界面需要进行登录,用户为admin,密码为public: 可以随便翻翻看其中的内容。

esp8266物联网开发二:MQTT环境搭建

六月ゝ 毕业季﹏ 提交于 2020-04-18 10:00:02
玩够了oled,wifi killer等等玩意儿之后,我们需要更近一步,这节就讲解如何在本机进行MQTT环境的搭建及消息的收发。 一、工具准备 MQTT服务端下载地址: https://links.jianshu.com/go?to=http%3A%2F%2Femqtt.com%2Fstatic%2Fbrokers%2Femqttd-windows7-v2.3.9.zip MQTT客户端下载地址: https://links.jianshu.com/go?to=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fworkswithweb%2Fmqttbox%2Flatest%2Fwindows%2FMQTTBox-win.exe 下载完毕后,将这两个进行安装即可。 二、搭建服务端 首先,解压服务端文件到D:\soft\emqttd\bin目录,然后利用cmd导向到此目录后,执行emqttd start命令并回车,稍等片刻,即可启动mqtt服务端。 然后,在浏览器中输入: http://127.0.0.1:18083/ 即可打开如图所示的服务端界面,需要注意的是,此界面需要进行登录,用户为admin,密码为public: 可以随便翻翻看其中的内容。 三、搭建客户端并进行消息收发 首先,安装下载的客户端,然后打开客户端,创建MQTT client:

EMQ百万级MQTT消息服务(分布式集群)

大兔子大兔子 提交于 2020-03-01 09:33:24
在强大的单机也比不上集群,EMQ的集群模式很粗暴,只需要把EMQ服务关联在一起然后负载均衡就可以达到集群的效果,这样就算面对1000CK问题也迎刃而解 附上: 喵了个咪的博客: w-blog.cn EMQ官方地址: http://emqtt.com/ EMQ中文文档: http://emqtt.com/docs/v2/guide.html 1.集群方式接受 Erlang/OTP 最初是爱立信为开发电信设备系统设计的编程语言平台,电信设备(路由器、接入网关、…)典型设计是通过背板连接主控板卡与多块业务板卡的分布式系统。 Erlang/OTP 语言平台的分布式程序,由分布互联的 Erlang 运行系统组成,每个 Erlang 运行系统被称为节点(Node),节点(Node) 间通过 TCP 互联,消息传递的方式通信: --------- --------- | Node1 | --------| Node2 | --------- --------- | \ / | | \ / | | / \ | | / \ | --------- --------- | Node3 | --------| Node4 | --------- --------- EMQ 消息服务器集群基于 Erlang/OTP 分布式设计,集群原理可简述为下述两条规则: MQTT 客户端订阅主题时

EMQ百万级MQTT消息服务(ACL鉴权)

一个人想着一个人 提交于 2020-02-29 06:16:31
虽然EMQ已经搭建起来了,但是投入到业务使用中还面临着一些问题,当然MQTT设计之初也考虑了这一点,比如不是任何一个客户端都能链接到服务器和限制客户端能够对topic操作的权限 附上: 喵了个咪的博客: w-blog.cn EMQ官方地址: http://emqtt.com/ EMQ中文文档: http://emqtt.com/docs/v2/guide.html 1.ACL鉴权 先说实际场景,我们需要监听每一台设备的链接和断开事件等EMQ的系统行为,这样的事件当然不是任何一个连接到服务器的终端,这样的限制就是ACL鉴权,官方也提供了默认的鉴权,在 /usr/local/emqttd/etc/acl.conf 下,默认值允许127.0.0.1的IP地址链接监听系统主题 %% 允许'dashboard'用户订阅 '$SYS/#' {allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}. %% 允许本机用户发布订阅全部主题 {allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}. %% 拒绝用户订阅'$SYS#'与'#'主题 {deny, all, subscribe, ["$SYS/#", {eq, "#"}]}. 规则如下: 允许|拒绝 用户|IP地址|ClientID 发布

使用openssl加密mqtt

时间秒杀一切 提交于 2019-11-28 19:57:25
昨天弄了一天,还没弄出结果,先做个记录,有空继续。 主参考: https://blog.csdn.net/a704397849/article/details/88885198 openssl概念,安装,使用: https://segmentfault.com/a/1190000014963014 https://blog.csdn.net/sunhuansheng/article/details/82218678 1)下载openssl: http://slproweb.com/products/Win32OpenSSL.html 2)根据系统属性,选择下载Win64 exe文件,双击安装之后,将安装路径配置到环境变量Path中: 3)启动一个cmd,输入openssl就能用了: 配置emqttd使用ssl: 编辑 emqttd安装目录下etc/emq.conf mosquitto的使用 : https://mosquitto.org/ 下载 双击安装之后,将安装路径添加到Path中 打开cmd就能使用mosquitto指令了。 来源: https://my.oschina.net/u/4042451/blog/3098868