mqtt介绍:
MQTT 是 Message Queuing Telemetry Transport(消息队列遥测传输)的缩写,是 IBM 开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。
MQTT 协议的主要特性
MQTT 协议使用发布 / 订阅消息范式来做到一对多的消息分发以及应用程序的解耦
MQTT 协议提供了 3 种(QoS)服务质量用于消息传输,适应不同的物联网数据传输场景QoS 0:最多一次传送 (只负责传送,发送过后就不管数据的传送情况)
QoS 1:至少一次传送 (确认数据交付)
QoS 2:正好一次传送 (保证数据交付成功)
通过很小的传输开销,以及最小化的协议交换来减少网络流量
发生异常断线时通知各方的机制
MQTT 服务器是发布者和订阅者之间通信的代理(因此中文也有将 MQTT 服务器翻译为 MQTT 代理),主要提供了以下的功能,
基于主题的 Pub/Sub 模式,将发布者和订阅着解耦
对于服务器来说,发布者和订阅者都是“客户端”
客户端与服务器连接都通过 TCP、TLS 或者 WebSocket
客户端(发布者)发送一条消息到服务器
一个或者多个客户端(订阅者)从服务器接收消息
按照 MQTT 协议标准,服务器提供三种连接方式,
TCP:默认端口为 1883
TLS:默认端口为 8883
WebSocket:默认端口为 8083
/*********************************************/
下面是自己拷贝过来做个笔记,方便自己以后查找。
搭建工具:
jdk8
apache-apollo1.7.1
百度网盘:链接:https://pan.baidu.com/s/1uZuqNqtovS3nHv47_SBE5Q
提取码:iku1
1.搭建命令:
**1.下载解压好以后,用cmd 进入到下一级的bin目录
cd /dD:apache - apolloapache-apollo-1.7.1in
1
2.输入下面的指令
apollo.cmd create mybroke
1
然后会如下图 生成一个 mybroker文件夹,名字可以随意起。**
3.进入mybroker/bin
cd/dD:apache - apolloapache-apollo-1.7.1inmybrokerin
4.开启服务器
apollo-broker.cmd run
后台登录接口:https://127.0.0.1:61681/或http://127.0.0.1:61680/
账号和密码是默认的
admin password
自此完成。可以自己用通信猫等助手进行调试。看看是否可以进行通信。
c
/*******************************************/
自从上次测试了apache-apollo搭建之后,实测的效果不行,然后自己在各大浏览器寻找,发现了一个比较好的方式来进行搭建。
下面我 来介绍一下,这个真的超级简单又方便。
EMQ X 基于 Erlang/OTP 平台开发的 MQTT 消息服务器,是开源社区中最流行的 MQTT 消息服务器,EMQ X 主要有以下的特点,
基于 Apache 2.0 协议许可,完全开源。EMQ X 的代码都放在 Github 中,用户可以查看所有源代码。
有基础的可以自己直接去官网进行下载和看安装数据手册,里面有很多版本的安装说明。
官网数据手册
EMQ X介绍
EMQ X 3.0 支持 MQTT 5.0 协议,是 开源社区中第一个 支持 5.0 协议规范的消息服务器,并且完全兼容 MQTT V3.1 和 V3.1.1 协议。除了 MQTT 协议之外,EMQ X 还支持别的一些物联网协议(具体请参见下文的 EMQ X Broker 产品功能介绍)。
单机支持百万连接,集群支持千万级连接;毫秒级消息转发。EMQ X 中应用了多种技术以实现上述功能,利用 Erlang/OTP 平台的软实时、高并发和容错
全异步架构
连接、会话、路由、集群的分层设计
消息平面和控制平面的分离等
扩展模块和插件,EMQ X 提供了灵活的扩展机制,可以实现私有协议、认证鉴权、数据持久化、桥接转发和管理控制台等的扩展
桥接:EMQ X 可以跟别的消息系统进行对接,比如 EMQ X Enterprise 版本中可以支持将消息转发到 Kafka、RabbitMQ 或者别的 EMQ 节点等
共享订阅:共享订阅支持通过负载均衡的方式在多个订阅者之间来分发 MQTT 消息。比如针对物联网等数据采集场景,会有比较多的设备在发送数据,通过共享订阅的方式可以在订阅端设置多个订阅者来实现这几个订阅者之间的工作负载均衡
工具准备:emqx;mqttbox(我的是windows版本的)
下载链接:链接:点击下载
提取码:zz5x
两种就可以,主要思路就是先开启emqx服务器,然后就可以在mqttbx进行发布主题和订阅主题的测试(当然,你用别的mqtt客户端也是可以的)
下载之后解压安装包到任意目录,启动cmd命令行,cd进入所在的bin目录,然后输入emqx start如下图所示:
,开启你的浏览器,输入:http://127.0.0.1:18083
这个是emqx官方提供的控制台:用户名和密码开始默认是:用户名:admin 密码public
打开控制台如图所示:
这个是中文版的,一开始打开是英文版的,你们可以直接去设置。
现在你就可以打开你的mqttbox然后可以测试这发布和订阅主题了。
点击创建mqtt客户按钮创建客户端,然后填写相关的用户信息。
主要是填写圈中的信息。
然后点击save按钮就可以看到一下界面,如果connect是绿色的话就是连接成功了。
可以自己尝试着发布一下主题和订阅主题,发布消息等,然后在控制台你就而已看到自己创建的主题和消息信息了。如下。
自此整个mqtt的服务器端和测试操作已经进行成功了。而且这个连接也比较可靠,不会动不动就给中断了。好评!!!!!