Skip to content

部署与运维架构 ​

架构目标 ​

部署架构以“快速交付、依赖清晰、数据可持久化、问题可定位”为目标。商业版常见交付方式是 Docker Compose 编排,包含 Nginx、Java 后端、Redis、MySQL、EMQX、ZLMediaKit、TDengine 等组件。更高可用和更大规模场景请结合 集群版文档。

容器拓扑 ​

部署模式 ​

模式适用场景说明
Docker 快速部署演示、测试、低成本体验通过 Compose 快速启动完整依赖
源码开发部署二次开发和联调后端、前端、数据库、中间件分别启动
商业版生产部署正式交付配置授权、域名、SSL、备份、监控和安全策略
集群部署高并发、高可用、多节点参考集群版文档规划服务集群、Web 集群和负载均衡

服务职责 ​

服务职责运维关注
Nginx静态资源、HTTPS、API 反代、WebSocket 代理证书、路径、超时、日志
Java 后端平台接口、设备接入、规则、通知、视频回调JVM、日志、上传目录、授权文件
Redis缓存、会话、分布式锁密码、内存、持久化、内网访问
MySQL业务主数据初始化、备份、慢 SQL、字符集
EMQX/NettyMQTT 接入和消息路由认证回调、ACL、连接数、端口
ZLMediaKit视频拉流、转推、录制Hook 地址、端口范围、录制目录
TDengine时序数据存储数据目录、日志目录、磁盘空间

端口规划 ​

组件常见端口
Nginx80、443
Java 后端8080、8081、5683、8888、8889、5061
EMQX1883、8083、8084、18083
Redis6379
MySQL3306
ZLMediaKit554、1935、8000、9000、10000、30000-30100
TDengine6030、6041、6043-6049

生产环境只开放必要端口。数据库、Redis、时序库和内部管理端口应限制在内网或安全组内。

持久化与备份 ​

  • Redis、MySQL、TDengine、Nginx 日志、上传目录、视频录制目录都应映射到宿主机或持久化存储。
  • 初始化 SQL、升级 SQL、授权文件、证书和配置文件需要进入上线交付清单。
  • 数据库备份需要定期恢复演练,避免“有备份但不可用”。
  • 视频录制和时序数据增长较快,应配置保留周期和磁盘容量告警。

上线检查 ​

  1. 域名、SSL 证书、Nginx 反向代理和静态资源路径已验证。
  2. 后端服务可以访问 MySQL、Redis、EMQX/Netty、TDengine、ZLMediaKit。
  3. 设备 MQTT/HTTP/CoAP 接入路径和认证流程已验证。
  4. 规则引擎、告警通知、视频回调和文件上传目录可用。
  5. 日志目录、数据库备份、监控指标和告警通知已配置。
  6. 商业授权配置已完成,并保留交付记录。

故障排查顺序 ​

  • 页面无法访问:先看 Nginx 访问日志、错误日志和静态资源路径。
  • 接口异常:查看 Java 应用日志、数据库连接和 Redis 状态。
  • 设备离线:检查 MQTT Broker、认证回调、ACL、Topic 和防火墙。
  • 视频不可用:检查 ZLMediaKit Hook、端口映射、流地址和录制目录权限。
  • 启动失败:检查挂载目录权限、端口冲突、容器日志和配置文件格式。

蜂信物联 | fastbee.cn