MQTT协议--技术文档--搭建mqtt服务器--《EMQX单体服务器部署》

产品概览 | EMQX 5.1 文档

什么是EMQX?

EMQX 是一款开源 (opens new window)的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息,并保证延迟在亚毫秒级。

EMQX 支持多种协议,包括 MQTT (3.1、3.1.1 和 5.0)、HTTP、QUIC 和 WebSocket 等,保证各种网络环境和硬件设备的可访问性。EMQX 还提供了全面的 SSL/TLS 功能支持,比如双向认证以及多种身份验证机制,为物联网设备和应用程序提供可靠和高效的通信基础设施。

内置基于 SQL 的规则引擎 (opens new window),EMQX 可以实时提取、过滤、丰富和转换物联网数据。此外,EMQX 采用了无主分布式架构,以确保高可用性和水平扩展性,并提供操作友好的用户体验和出色的可观测性

architecture_image

优势

超大规模(opens new window)

EMQX 5.0 单集群可支持 MQTT 并发连接数高达 1 亿条。

高性能

单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息。

低延时

近乎实时的信息传递,保证延迟在亚毫秒级。

全面支持 MQTT 5.0 标准(opens new window)

100% 符合 MQTT 5.0 和 3.x 标准,具有更好的可扩展性、安全性和可靠性。

高可用(opens new window)

通过无主节点分布式架构实现高可用和水平扩展性。

云原生(opens new window)

通过 Kubernetes Operator 和 Terraform,可以轻松地在企业内部和公共云中进行部署

产品对比

EMQX 有 4 种部署模式,包括两种云服务模式(EMQX Cloud Serverless 和 EMQX Cloud 专有版)和两种自托管模式(EMQX 开源版 和 EMQX 企业版)

主要特性 云服务模式 自托管模式
EMQX Cloud Serverless EMQX Cloud 专有版 EMQX 开源版 EMQX 企业版
免费使用 Serverless 14 天免费试用 立即下载 免费试用
可扩展性 自动扩展,最多 1,000 条连接 无限制 单集群支持 MQTT 并发连接数高达 1 亿条 单集群支持 MQTT 并发连接数高达 1 亿条
吞吐量 1000 TPS > 500 万 MQTT 消息每秒 > 500 万 MQTT 消息每秒 > 500 万 MQTT 消息每秒
延迟 1~5 毫秒 1~5 毫秒 1~5 毫秒 1~5 毫秒
数据集成(开箱即用) 不支持 支持 40 多种数据集成,包括 Webhook、MQTT 数据桥接、MySQL、PostgreSQL、Kafka、MongoDB、Oracle 等。 支持 Webhook 和 MQTT 数据桥接 支持 40 多种数据集成,包括 Webhook、MQTT 数据桥接、MySQL、PostgreSQL、Kafka、MongoDB、Oracle 等。
MQTT 5.0 Broker

MQTT over QUIC

MQTT 扩展

多协议网关

Schema Registry

消息编解码

规则引擎

文件传输

故障排查

Cloud-Native & K8s N/A N/A

SLA 等级 99.9% 99.99% N/A N/A
License SaaS 模式,按需计费 SaaS 模式,按小时计费 Apache Version 2.0 商业许可证(商业源代码许可证)
技术支持 5x8 全球支持 7x24 全球支持 开源社区 7x24 全球支持

Docker部署

准备工作:

挂载数据卷的文件夹,可以使用以下命令在 /usr/local/docker/emqx 目录下创建三个文件夹

mkdir -p /usr/local/docker/emqx/{bin,etc,lib,data,log}

给文件夹赋予权限:

chmod 777 /usr/local/docker/emqx/data
chmod 777 /usr/local/docker/emqx/etc
chmod 777 /usr/local/docker/emqx/log
chmod 777 /usr/local/docker/emqx/bin
chmod 777 /usr/local/docker/emqx/lib
chmod -R 777 /usr/local/docker/emqx

通过 Docker 运行单个 EMQX 节点

免费下载、试用 EMQ 产品

如果需要开源版或者其他版本的话在上面连接中。

1、运行以下命令获取 Docker 镜像

docker pull emqx/emqx:5.1.3

 

2、运行以下命令启动 Docker 容器

1、不挂载数据卷启动容器

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.1.3

2、将临时EMQX容器的文件目录拷贝到服务器上

docker cp emqx:/opt/emqx/bin /usr/local/docker/emqx
docker cp emqx:/opt/emqx/etc /usr/local/docker/emqx
docker cp emqx:/opt/emqx/lib /usr/local/docker/emqx
docker cp emqx:/opt/emqx/data /usr/local/docker/emqx
docker cp emqx:/opt/emqx/log /usr/local/docker/emqx

3、删除临时emqx容器

docker rm -f emqx

 使用如下代码:

docker run -d --restart=always  --privileged=true  --name emqx \
-p 1883:1883 \
-p 8081:8081 \
-p 8083:8083 \
-p 8084:8084 \
-p 8883:8883 \
-p 18083:18083 \
-v /usr/local/docker/emqx/bin:/opt/emqx/bin \
-v /usr/local/docker/emqx/etc:/opt/emqx/etc \
-v /usr/local/docker/emqx/lib:/opt/emqx/lib \
-v /usr/local/docker/emqx/data:/opt/emqx/data \
-v /usr/local/docker/emqx/log:/opt/emqx/log \
emqx/emqx:5.1.3

代码解释: 

docker run -d             # 以守护模式运行容器
  --name emqx             # 设置容器的名称为 "emqx"
  -p 1883:1883            # 将容器内的 1883 端口映射到主机的 1883 端口
  -p 8083:8083            # 将容器内的 8083 端口映射到主机的 8083 端口
  -p 8084:8084            # 将容器内的 8084 端口映射到主机的 8084 端口
  -p 8883:8883            # 将容器内的 8883 端口映射到主机的 8883 端口
  -p 18083:18083          # 将容器内的 18083 端口映射到主机的 18083 端口
  -v /usr/local/docker/emqx/data:/opt/emqx/data   # 将主机上的 /usr/local/docker/emqx/data 文件夹挂载到容器内的 /opt/emqx/data 文件夹
  -v /usr/local/docker/emqx/etc:/opt/emqx/etc     # 将主机上的 /usr/local/docker/emqx/etc 文件夹挂载到容器内的 /opt/emqx/etc 文件夹
  -v /usr/local/docker/emqx/log:/opt/emqx/log     # 将主机上的 /usr/local/docker/emqx/log 文件夹挂载到容器内的 /opt/emqx/log 文件夹
  emqx/emqx:5.1.3         # 指定要使用的镜像的名称和标签为 "emqx/emqx:5.1.3"

有关EMQX的镜像网址:https://hub.docker.com/_/emqx

 测试连接

ip地址+18083初始密码

账号admin

密码public

通过 Docker Compose 构建 EMQX 集群

Docker Compose 是一个用于编排和运行多容器的工具

提示

目前 Docker Compose 已经包含在 Docker 安装包中无需单独安装,如果您的 Docker 中没有包含 Compose 请参考 Install Docker Compose (opens new window)进行安装。

官方搭建集群链接:分布式集群介绍 | EMQX 5.1 文档

猜你喜欢

转载自blog.csdn.net/weixin_72186894/article/details/132311576