部署与运维
部署拓扑
前端由 Nginx 提供,API 经网关转发;后端微服务、MySQL、Redis、Nacos 分层部署。仓库 platform-service/docker 提供 docker-compose.yml,可一键拉起基础设施与全部服务,适合演示与试点环境。
生产运维关注的是平台上线后能不能稳定跑、事件状态流转有没有按时推进、出问题能不能快速定位。页面上看到的事件、分配、评估和结算,背后都要能追到具体服务、任务和时间点。
组件清单与端口
| 组件 | 端口 | 说明 |
|---|---|---|
| vpp-gateway | 48080 | 统一入口 |
| vpp-auth | 39200 | 认证中心 |
| vpp-system | 39201 | 系统管理 |
| vpp-gen | 39202 | 代码生成 |
| vpp-job | 39204 | 分布式任务调度 |
| vpp-file | 39300 | 文件服务 |
| vpp-event-service | 39310 | 事件与资源域 |
| vpp-dispatch-service | 39320 | 调度与经营域 |
| vpp-monitor | 39100 | 服务运行监控面板 |
| vpp-register | 8848 | 内置 Nacos |
数据库初始化
按顺序执行 platform-service/sql 下的脚本:
witos_platform.sql:系统库,含用户、角色、菜单、租户与字典。vpp_dr.sql:需求响应业务表与虚拟电厂菜单。witos_config.sql:Nacos 种子配置(命名空间vpp,含网关路由与各服务配置)。
种子配置中的默认数据库口令与 docker 环境保持一致;对接既有数据库实例时同步修改 MYSQL_ROOT_PASSWORD 与 Nacos 配置中的连接串。
部署流程
1. 初始化 MySQL、Redis,导入 SQL 脚本
2. 启动 Nacos(或内置 vpp-register),导入种子配置
3. 构建后端(mvn package),按依赖顺序启动:
网关 -> 认证 -> 系统 -> 事件服务 -> 调度服务
4. 构建前端(npm run build:prod),Nginx 指向 dist
5. 浏览器验证登录、仪表盘与事件流程
docker 环境下执行 docker-compose up -d 即可拉起全部组件;镜像构建脚本见 docker/build_image.bat 与 copy.bat。
启动顺序与依赖
| 阶段 | 依赖 | 校验 |
|---|---|---|
| 基础设施 | 无 | MySQL 连接、Redis ping、Nacos 控制台可访问 |
| 网关与认证 | Nacos、Redis | 登录接口返回令牌 |
| 系统服务 | MySQL | 用户登录成功 |
| 业务服务 | 系统服务、MySQL | 仪表盘与事件列表有数据 |
Nacos 命名空间使用 vpp,各服务 bootstrap.yml 已固定该命名空间;新建配置时不要误放 public 命名空间,否则服务读不到配置。
日常巡检
| 检查项 | 频率 | 判定 |
|---|---|---|
| 事件状态流转 | 每小时 | 到点事件是否按时进入响应中/已结束 |
| 分钟功率与执行记录 | 每小时 | 最近时间点是否连续 |
| 容量快照 | 每日 | 最近 24 小时数据连续 |
| 桩状态任务 | 每日 | 在线占比不低于 75% |
| MySQL/Redis/Nacos 健康 | 每日 | 连接、磁盘、内存无异常 |
| 服务日志错误 | 每日 | 无持续刷新的异常堆栈 |
故障排查路径
页面空白 -> Nginx/构建产物 -> 浏览器控制台 -> 网关路由
登录失败 -> 认证服务 -> Redis -> Nacos 配置
业务页无数据 -> 对应服务存活 -> 网关路由(/vpp-event 或 /vpp-dispatch) -> 租户/角色范围
事件不流转 -> 事件服务定时任务 -> 事件起止时间 -> 服务器时钟
曲线无数据 -> 分钟/日任务日志 -> 桩参与状态 -> 采集任务是否执行
结算金额异常 -> 评估电量 -> 单价 -> 三方比例之和
每次故障应记录现象、影响范围、开始结束时间、根因与修复动作,形成可检索的运行事件。
升级与回滚
- 升级前备份
witos_platform库。 - 新增字段类 SQL 变更单独保存脚本并按版本执行。
- 后端按服务逐个替换重启,网关最后重启。
- 前端保留上一版本 dist 目录,出现白屏或资源 404 时先切回旧目录再排查。
可靠性运营体系
| 运维能力 | 高阶说明 | 价值 |
|---|---|---|
| 一键部署 | docker-compose 拉起基础设施与全部服务 | 演示与试点环境快速交付 |
| 任务幂等 | 采集与汇总任务按资源与时间点幂等,重启自动续采 | 停机恢复后曲线自动续接 |
| 配置集中 | Nacos 命名空间隔离,种子配置入库可重建 | 环境可复制、可审计 |
| 监控面板 | vpp-monitor 查看各服务运行状态 | 服务异常第一时间可见 |
| 逻辑删除 | 业务数据不物理删除 | 故障复盘与结算追溯有依据 |
生产级建议
- 演示与试点环境可直接使用 docker 一键部署;生产环境建议数据库独立部署、定时备份,并将默认口令全部替换。
- 事件状态流转与结算生成属于关键链路,发布窗口避开事件响应时段。
- 日志按服务分文件落盘并定期归档,便于回溯状态流转与任务执行。
