MQTT协议

背景这两天在排查一个 RTOS 设备短时间内重启几十次之后连接不上 MQTT 的问题,记录一下,顺便简单介绍下 M...


上一篇介绍了 MQTT协议之后,我们需要选择一个 MQTT 服务端,在 MQTT 官方推荐中,最后选择了 EMQ X 来进行服务端实现,EMQ X 有什么优势可以在官方推荐的那么多服务端中脱颖而出?本篇文章就和大家一起了解下 EMQ X的特性。

附上:
EMQ官方地址:https://www.emqx.io
EMQ中文文档:https://docs.emqx.io/broker/latest/cn

EMQ X 消息服务器简介

EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed) 的语言平台。MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。

EMQ X 面向海量的 移动/物联网/车载 等终端接入,并实现在海量物理网设备间快速低延时的消息路由:

  1. 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持百万连接
  2. 分布式节点集群,快速低延时的消息路由,单集群支持千万规模的路由
  3. 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库
  4. 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、私有 TCP/UDP 协议支持

EMQ X安装

EMQ X的安装方式有非常多,常见的 Shell 脚本安装 (Linux)、 包管理器安装 (Linux)、二进制包安装 (Linux)、ZIP 压缩包安装 (Linux、MaxOS、Windows)、Homebrew 安装 (MacOS)、Docker 运行、Helkm 安装、源码编译安装全部都有,并且支持市面上绝大多数的操作系统。
在这里我就以 Centos 系统,包管理器安装来举例。(如果是其他系统或安装方式可以去官方文档寻找对应的指南)

安装所需要的依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置稳定存储库

yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/7/emqx-ce.repo

安装最新版本的 EMQ X Broker

yum install emqx

如果提示接受 GPG 密钥,请确认密钥符合 fc84 1ba6 3775 5ca8 487b 1e3c c0b4 0946 3e64 0d53,并接受该指纹

安装特定版本的 EMQ X Broker

查询可用版本

[root@lyafei-node-2 ~]# yum list emqx --showduplicates | sort -r
 * updates: mirror.san.fastserv.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
 * extras: mirror.hostduplex.com
emqx.x86_64                     4.0.5-1.el7                      emqx-ce-stable 
emqx.x86_64                     4.0.4-1.el7                      emqx-ce-stable 
emqx.x86_64                     4.0.3-1.el7                      emqx-ce-stable 
emqx.x86_64                     4.0.2-1.el7                      emqx-ce-stable 
emqx.x86_64                     4.0.1-1.el7                      emqx-ce-stable 
emqx.x86_64                     4.0.0-1.el7                      emqx-ce-stable 
emqx.x86_64                     3.2.7-1.el7                      emqx-ce-stable 
emqx.x86_64                     3.2.6-1.el7                      emqx-ce-stable 

安装特定版本

yum install emqx-4.0.5

启动 EMQ X Broker

直接启动

[root@lyafei-node-2 /]# emqx start
emqx 4.0.5 is started successfully!

[root@lyafei-node-2 /]# emqx_ctl status
Node '[email protected]' is started
emqx v4.0.5 is running

systemctl 启动

systemctl start emqx

service 启动

service emqx start

停止 EMQ X Broker

[root@lyafei-node-2 /]# emqx stop
ok

卸载 EMQ X Broker

yum remove emqx

访问Dashboard

通过 IP 访问 18083 端口可以通过 Dashboard 在线观察 EMQ 的运行状态、设备连接等情况。


dashboard

最后修改:2023 年 09 月 11 日
如果觉得我的文章对你有用,请随意赞赏