🏢 生产环境高可用部署
面向企业上万台设备并发接入与大规模视频并发点播场景,建议将各个核心组件进行物理机或独立容器集群部署。
1. 推荐硬件规格与集群拓扑
text
[ 域名 / 统一入网负载均衡器 Nginx / F5 ]
│
┌────────────────────────────────────┼────────────────────────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 后端应用节点 1 │ │ 后端应用节点 2 │ │ ZLMediaKit 集群 │
│ yudao-server │ │ yudao-server │ │ (视频流媒体接入) │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
└─────────────────┬──────────────────┴────────────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ 高可用数据持久层与中间件 │
│ · MySQL 主从读写分离 (基于 Dynamic-Datasource 动态路由)│
│ · Redis Cluster / Sentinel 哨兵集群 (高可用缓存与锁) │
│ · TDengine 3.0+ 高性能时序集群 (存储海量传感器时序点位)│
│ · EMQX 5.0 分布式集群 (承载百万级 MQTT 工业长连接) │
│ · MinIO 分布式对象存储 (存储音视频切片与固件文件) │
└────────────────────────────────────────────────────────┘2. 生产关键参数调优
- JVM 启动参数优化 (JDK 21+):bash
java -server -Xms4g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar yudao-server.jar - 操作系统网络与文件描述符:
- 工业长连接与流媒体推流需要占用大量文件描述符,在
/etc/security/limits.conf中调整:text* soft nofile 655350 * hard nofile 655350
- 工业长连接与流媒体推流需要占用大量文件描述符,在
- ZLMediaKit RTP 端口范围放行:
- 生产环境中必须在防火墙放行 UDP 与 TCP 的
30000-30500端口范围,确保外部摄像机能够稳定推流到集群。
- 生产环境中必须在防火墙放行 UDP 与 TCP 的
