产品概览 | EMQX 5.1 文档
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 采用了无主分布式架构,以确保高可用性和水平扩展性,并提供操作友好的用户体验和出色的可观测性
超大规模(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 全球支持 |
挂载数据卷的文件夹,可以使用以下命令在 /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
免费下载、试用 EMQ 产品
如果需要开源版或者其他版本的话在上面连接中。
1、运行以下命令获取 Docker 镜像
docker pull emqx/emqx:5.1.3
2、运行以下命令启动 Docker 容器
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
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
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 是一个用于编排和运行多容器的工具
目前 Docker Compose 已经包含在 Docker 安装包中无需单独安装,如果您的 Docker 中没有包含 Compose 请参考 Install Docker Compose (opens new window)进行安装。
官方搭建集群链接:分布式集群介绍 | EMQX 5.1 文档