111 lines
3.5 KiB
Markdown
111 lines
3.5 KiB
Markdown
# EMQX Cluster 配置说明
|
||
|
||

|
||
|
||
本文档描述了如何根据单节点和多节点的配置部署 EMQX 集群。本文档适用于两种场景:
|
||
|
||
- **单节点配置**:适用于测试或小规模部署,在目录 [single_node] 中包含所有必要的配置和证书。
|
||
- **多节点配置**:适用于集群部署,在目录 [multi_node] 中提供多个节点的配置示例,每个节点拥有独立的配置文件和 Docker Compose 配置。
|
||
|
||
---
|
||
|
||
## 单节点配置
|
||
|
||
单节点部署的相关文件位于目录 **single_node**,主要文件包括:
|
||
|
||
- **docker-compose.yaml**:Docker Compose 部署文件,用于启动 EMQX 及其依赖服务。
|
||
- **nginx.conf**:Nginx 负载均衡配置,可选用于反向代理。
|
||
- **api_key.conf**:API 密钥配置文件。
|
||
- **certs/**:存放 SSL/TLS 证书文件,包含:
|
||
- cacert.pem
|
||
- cert.pem
|
||
- client-cert.pem
|
||
- client-key.pem
|
||
- key.pem
|
||
|
||
### 部署步骤
|
||
|
||
1. 进入 `single_node` 目录:
|
||
```
|
||
cd single_node
|
||
```
|
||
2. 根据需要检查并修改配置文件(如 API 密钥、证书等)。
|
||
3. 使用 Docker Compose 启动服务:
|
||
```
|
||
docker-compose up -d
|
||
```
|
||
4. 如使用 Nginx 提供反向代理,确保 `nginx.conf` 中的配置与实际环境匹配。
|
||
|
||
---
|
||
|
||
## 多节点配置
|
||
|
||
多节点部署适用于 EMQX 集群环境,相关配置位于目录 **multi_node**,包含以下内容:
|
||
|
||
- **nginx.conf**:用于集群中负载均衡和反向代理的 Nginx 配置。
|
||
- 子目录分别对应各个节点配置,目前包含:
|
||
- **node20.50/**
|
||
- docker-compose.yaml
|
||
- api_key.conf
|
||
- **node20.220/**
|
||
- docker-compose.yaml
|
||
- api_key.conf
|
||
- **node22.85/**
|
||
- docker-compose.yaml
|
||
- api_key.conf
|
||
|
||
### 部署步骤
|
||
|
||
1. 检查各节点目录下的配置文件,确保 API 密钥、证书路径等配置正确。
|
||
2. 对于每个节点,进入相应的目录并启动服务,例如:
|
||
```
|
||
cd multi_node/node20.50
|
||
docker-compose up -d
|
||
```
|
||
对其他节点重复上述步骤。
|
||
3. 部署完各节点服务后,如使用 Nginx 执行负载均衡,请确保 `multi_node/nginx.conf` 配置准确,并启动 Nginx 服务:
|
||
```
|
||
# 修改 nginx.conf 配置后,启动或重启 Nginx 服务
|
||
nginx -c $(pwd)/multi_node/nginx.conf
|
||
```
|
||
|
||
---
|
||
|
||
## 注意事项
|
||
|
||
- 请根据实际环境修改各配置文件中的关键信息(如 API 密钥、证书路径、端口号等)。
|
||
- 在集群部署环境中,确保各节点之间网络互通,并按实际需求配置负载均衡器。
|
||
- 建议在修改配置后,先测试单节点部署,再逐步扩展到多节点集群。
|
||
|
||
---
|
||
|
||
## EMQX 测试工具
|
||
|
||
EMQX 测试工具采用 mqttx 进行压力测试,支持以下测试场景:
|
||
|
||
- **压测海量链接**:
|
||
使用以下命令测试大量连接:
|
||
```
|
||
mqttx bench conn -c 5000
|
||
```
|
||
|
||
- **批量发布消息**:
|
||
使用以下命令进行批量消息发布:
|
||
```
|
||
mqttx bench pub -c 5000 -t bench/%i
|
||
```
|
||
|
||
- **批量订阅消息**:
|
||
使用以下命令进行批量消息订阅:
|
||
```
|
||
mqttx bench sub -c 5000 -t bench/%i
|
||
```
|
||
|
||
详细使用说明请参考:[mqttx CLI 文档](https://mqttx.app/docs/cli/get-started)
|
||
|
||
---
|
||
|
||
本文档旨在为用户提供一个清晰的部署及测试指导,可根据项目需求进行适当调整。更多使用说明和排查问题的细节,请参考各目录内附带的 README 文件或官方文档。
|
||
|
||
2025年2月22日
|