【一】MQTT的服务搭建

176 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


一、什么是MQTT

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

二、MQTT的特点

1、与JAVA的业务MQ一样,MQTT同样使用了订阅/发布模式,可以有效解耦;

2、对负载内容屏蔽的消息传输;

3、使用TCP可靠连接;

4、有三种消息QOS提供选择:

5、小型传输,开销很小(固定长度的头部是 2 字节);

6、使用了遗言(Last will)等通信中断机制。

三、MQTT服务搭建(EMQX)

3.1 EMQX下载

EMQX是国内厂商基于MQTT协议的一个实现,目前有开源的EMQX Broker和收费的EMQX Enterprise,本系列文章以broker来介绍MQTT相关内容。

EQMX下载地址

选择对应系统的版本即可,楼主这里选择的是windows-4.4.5

image.png

3.2 EMQX安装运行

因为楼主是windows平台,故接下来的讲解都是windows的操作,如果是linux或者ubuntu类似。

EQMX下载后解压,进入bin目录,打开CMD执行

# 启动服务
emqx start

启动后,在bin目录,打开CMD执行

# 查看服务状态
emqx_ctl status

出现下图信息即表示启动成功

image.png

注:可以将bin目录配置到path环境变量中

3.3 进入dashboard查看运行状态

eqmx内置的dashboard页面是对整个服务的概览及配置

默认dashboard地址:localhost:18083 默认账户:admin 默认密码:public

地址及账户的配置会在下一篇文章MQTT配置中详细介绍。

3.3 EMQX桌面客户端安装

桌面客户端的安装目的是为了测试MQTT服务的正确性以及模拟消息发布者/消费者,如果不需要可以跳过此步骤

此处选择同厂商的MQTTX作为客户端使用测试

MQTTX下载地址\

下载安装后打开进入主界面

image.png

点击New Connection,新建连接,输入Genral配置信息如下

image.png

Advanced和Last Will可以不用配置,默认即可

输入完成后点击右上方connect,即连接成功

3.4 消息订阅及发布测试

在MQTTX中,连接好MQTT以后,点击新建订阅主题New subscription

image.png

输入Topic,其它保持默认即可,

Topic以斜杠划分层级,一个Topic须含有至少一个斜杠符号

Topic通配符:#表示1个或多个层级,+表示匹配一个层级

点击刚创建的Topic,在下发输入该Topic及内容,发送,就会看到发送一条信息以及接收一条信息。

image.png

自发自收现象在实际应用中也会出现,如果客户端订阅了自己的发布主题,同样也会收到自己的消息,这符合订阅/发布规范

到此,MQTT的服务搭建就可以宣告成功,接下来就是服务配置和开发应用,相关内容将会发布在后续文章。

如果您觉得本篇文章对您有所帮助,欢迎您订阅点赞留言。


有兴趣的小伙伴可以关注公众号【暴走的怪兽君】,常更新Java干货资讯,免费提供大量教程和工具下载。