EMS 生产运维与可靠性体系
发布拓扑
静态文档和 EMS 前端由 Nginx 提供,API 经网关转发;后端服务、MySQL、Redis、Nacos、慧知自研能源接入中台与 InfluxDB 分层部署。生产环境建议将数据库和时序库置于独立磁盘,并对 API、消息、时序写入分别设置连接池上限。

生产运维关注的是平台上线后能不能稳定跑、出问题能不能快速定位、修复后数据能不能补回来。页面上看到的告警、任务、状态和通知,背后都要能追到具体租户、站点、设备和时间窗口。
发布流程
- 构建并生成带提交 SHA 的静态产物。
- 执行链接检查、VuePress build 和关键页面冒烟。
- 将当前目录复制为带时间戳的备份目录。
- 上传到新版本目录,校验
index.html、资源清单和文件权限。 - 原子切换 Nginx root 或目录内容,执行
nginx -t && nginx -s reload。 - 从公网域名验证首页、EMS 专题页、404、缓存头和 HTTPS 证书。
回滚
保留最近 3 个静态版本和发布清单。出现白屏、资源 404 或路由异常时,优先切回上一版本目录,再分析构建产物;文档静态发布不需要重启后端服务。
日常巡检
| 检查项 | 频率 | 判定 |
|---|---|---|
| 边缘网关在线率和数据新鲜度 | 5 分钟 | 离线/过期超过阈值触发告警 |
| 时序写入延迟和失败数 | 5 分钟 | 队列持续增长需限流或扩容 |
| 报表任务积压 | 15 分钟 | 超过结算窗口升级处理 |
| MySQL/Redis/Nacos 健康 | 1 分钟 | 连接池、磁盘和内存无耗尽 |
| 证书和密钥有效期 | 每日 | 提前 30 天轮换 |
故障排查路径
页面空白 -> Nginx/资源路径 -> 浏览器控制台 -> API 网关
实时无数据 -> 边缘网关在线 -> 接入端点 API -> Raw Influx -> 快照任务
报表不准 -> 数据覆盖率 -> 聚合水位线 -> 电价版本 -> 重算任务
控制未生效 -> 权限/预检 -> 边缘网关 ACK -> 现场采样 -> 验证窗口
每次故障必须留下 requestId/traceId、影响租户、开始结束时间、根因、修复动作和是否需要补算,形成可检索的运行事件。
可靠性运营体系
生产运维模块强调的是平台长期稳定运行能力。慧知 EMS 将前端静态资源、网关、业务服务、数据库、缓存、时序存储、边缘接入和调度任务拆成可观测、可回滚、可扩容的运行单元。这样即使某个站点、某个任务或某个外部依赖异常,也不会影响整个平台不可控地扩散故障。
| 运维能力 | 高阶说明 | 价值 |
|---|---|---|
| 灰度与回滚 | 静态站点和应用服务保留版本目录与发布清单 | 出现异常可快速恢复上一稳定版本 |
| 任务可恢复 | 同步、补拉、报表和收益任务具备水位线与幂等键 | 避免重复计量和批量任务失控 |
| 数据可观测 | 监控采样新鲜度、同步延迟、报表积压和告警发送 | 快速定位是设备、链路、数据还是应用问题 |
| 容量治理 | 对时序写入、历史查询、导出和大屏并发设置边界 | 支撑集团多站点规模化运营 |
| 故障复盘 | 每次生产事件记录影响范围、根因、修复动作和补算需求 | 运维经验可沉淀,平台稳定性持续提升 |
生产级亮点
平台运行不是靠人工盯日志,而是通过指标、日志、任务状态、数据质量和告警事件形成可量化的可靠性体系。实时链路关注秒级新鲜度,报表链路关注结算窗口完成率,控制链路关注 ACK 与验证结果,经营链路关注收益版本和数据覆盖率。不同链路有不同 SLO,既避免单点故障扩大,也避免用总体平均值掩盖关键客户异常。
