Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
commit emqx script
  • Loading branch information
asd893103762 committed Oct 8, 2022
commit 878c820c1e57329e464b3eae2c433eba213723d7
110 changes: 110 additions & 0 deletions docker-compose/emqx/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# EMQX 物联网 MQTT 消息服务器



官网:https://www.emqx.io/

github:https://github.com/emqx/emqx



![EMQX: 开源云原生物联网 MQTT 服务器](assets/logo.png)



EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。

作为全球最具扩展性的 MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,帮助您快速构建关键业务的物联网平台与应用。



### 软件简介

EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。

作为全球最具扩展性的 MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,帮助您快速构建关键业务的物联网平台与应用。

## 产品优势

- **开放源码**:基于 Apache 2.0 许可证完全开源,自 2013 年起 200+ 开源版本迭代。
- **MQTT 5.0**:100% 支持 MQTT 5.0 和 3.x 协议标准,更好的伸缩性、安全性和可靠性。
- **海量连接**:单节点支持 500 万 MQTT 设备连接,集群可扩展至 1 亿并发 MQTT 连接。
- **高性能**:单节点支持每秒实时接收、移动、处理与分发数百万条的 MQTT 消息。
- **低时延**:基于 Erlang/OTP 软实时的运行时系统设计,消息分发与投递时延低于 1 毫秒。
- **高可用**:采用 Masterless 的大规模分布式集群架构,实现系统高可用和水平扩展。

## 功能概览

以下是 EMQX 不完全功能列表。

### 连接

- 完整支持 MQTT v3.1、v3.1.1 和 v5.0 协议规范
- QoS 0、QoS 1、QoS 2 消息支持
- 持久会话和离线消息支持
- 保留消息(Retained Message)支持
- 遗嘱消息(Will Message)支持
- 共享订阅支持
- `$SYS/` 系统主题支持
- MQTT 支持 4 种传输协议
- TCP
- TLS
- WebSocket
- QUIC(实验性)
- HTTP 消息发布接口
- 网关
- CoAP
- LwM2M
- MQTT-SN
- Stomp
- GB/T 32960(企业版)
- JT/T 808(企业版)

更多 MQTT 扩展支持:

- 延迟发布
- 代理订阅
- 主题重写

### 安全

- 基于用户名/密码的身份认证,支持使用内置数据库、Redis、MySQL、PostgreSQL、MongoDB 作为数据源,也支持使用 HTTP Server 提供认证服务
- 基于 JWT 的身份认证与权限控制,支持 JWKs
- MQTT 5.0 增强认证
- PSK 身份验证
- 基于 Client ID、IP 地址,用户名的访问控制,支持使用内置数据库、Redis、MySQL、PostgreSQL、MongoDB 作为数据源,也支持使用 HTTP Server 提供授权服务
- 客户端黑名单支持

### 可伸缩性

- 多节点集群 (Cluster)
- 支持手动、mcast、dns、etcd、k8s 集群发现方式集群
- 多服务器节点桥接 (Bridge)

### 数据集成

- SQL 语法数据集成,实时提取、过滤、丰富和转换 MQTT 消息或内部事件为用户所需格式,并将其发送到外部数据平台
- 通过 MQTT 与其他 Broker 或物联网平台进行双向数据桥接(如 EMQX Cloud,AWS IoT Core,Azure IoT Hub)
- 通过 Webhook 与其他应用集成

### 可靠性

- 过载保护
- 消息速率限制
- 连接速率限制

### 可观测性

- 客户端在线状态查询
- 集群状态与指标查询
- Prometheus/StatsD 集成
- 自动网络分区恢复
- 在线日志追踪(Log Trace)
- Erlang 运行时追踪工具

### 可扩展性

- 插件
- 钩子
- gRPC 钩子扩展
- gRPC 协议扩展
Binary file added docker-compose/emqx/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docker-compose/emqx/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!\bin\bash

docker-compose up -d
39 changes: 39 additions & 0 deletions docker-compose/emqx/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

version: '3.7'
services:
emqx:
#image: emqx/emqx:v3.2.0
image: emqx/emqx:4.4.4
container_name: emqx
restart: always
environment:
TZ: Asia/Shanghai
ports:
- 1883:1883
- 8083:8083
- 8883:8883
- 8084:8084
- 18083:18083
- 11883:11883
- 4369:4369
- 5369:5369
- 6369:6369
- 8080:8080
volumes:
- emqx_data:/opt/emqx/data
- emqx_etc:/opt/emqx/etc
- emqx_lib:/opt/emqx/lib
- emqx_log:/opt/emqx/log
networks:
- swarm_net

volumes:
emqx_data:
emqx_etc:
emqx_lib:
emqx_log:

networks:
swarm_net:
external: true

Loading