# 运维规范
规范系统部署、监控、维护流程,确保系统稳定运行
# 一、部署流程
# 部署前检查清单
- [ ] 代码已合并到发布分支
- [ ] 代码审查通过
- [ ] 测试报告通过
- [ ] 数据库脚本已准备
- [ ] 回滚方案已准备
- [ ] 相关人员已通知
# 部署流程
代码冻结 → 构建打包 → 预发环境验证 → 生产部署 → 上线验证
1
# 部署时间窗口
| 类型 | 时间窗口 | 说明 |
|---|---|---|
| 常规发布 | 周二/周四 凌晨 0:00-5:00 | 避开业务高峰 |
| 紧急发布 | 随时 | 需项目经理审批 |
| 大版本发布 | 提前规划好时间 0:00-6:00 | 预留充足回滚时间 |
# 发布记录模板
【发布单号】REL-2026-001
【发布日期】2026-03-20
【发布人员】张三
【发布内容】
- 功能 1: XXX
- 功能 2: XXX
- Bug 修复:XXX
【数据库变更】
- 新增表:XXX
- 修改表:XXX
【回滚方案】
1. 回滚代码到上一版本
2. 执行回滚 SQL
3. 验证核心功能
【验证结果】
✅ 核心功能验证通过
✅ 数据库验证通过
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 二、监控告警
# 监控指标
# 系统层面
- CPU 使用率(阈值:80%)
- 内存使用率(阈值:85%)
- 磁盘使用率(阈值:90%)
- 网络流量
# 应用层面
- API 响应时间(阈值:P95 < 500ms)
- API 错误率(阈值:< 1%)
- QPS/TPS
- 活跃用户数
# 业务层面
- 订单量
- 支付成功率
- 登录成功率
# 告警级别
| 级别 | 响应时间 | 通知方式 | 示例 |
|---|---|---|---|
| P0-严重 | 15 分钟 | 电话 + 短信 + 微信 | 系统宕机 |
| P1-高 | 30 分钟 | 短信 + 微信 | 核心功能异常 |
| P2-中 | 2 小时 | 微信 | 非核心功能异常 |
| P3-低 | 24 小时 | 邮件 | 性能下降 |
# 告警联系人
- 一线值班:运维工程师
- 二线支持:技术负责人
- 三线支持:项目总监
# 三、日志管理
# 日志级别
| 级别 | 说明 | 示例 |
|---|---|---|
| ERROR | 错误,需要立即处理 | 数据库连接失败 |
| WARN | 警告,需要关注 | API 响应超时 |
| INFO | 信息,正常业务日志 | 用户登录成功 |
| DEBUG | 调试,开发调试用 | 方法入参出参 |
# 日志规范
// ✅ 推荐 - 结构化日志
_logger.LogInformation("用户 {UserId} 登录成功,IP: {IP}", userId, ipAddress);
// ❌ 不推荐 - 字符串拼接
_logger.LogInformation("用户 " + userId + " 登录成功,IP: " + ipAddress);
1
2
3
4
5
2
3
4
5
# 日志收集
- 使用 ELK(Elasticsearch + Logstash + Kibana)或类似工具
- 日志集中存储,便于查询分析
- 日志保存至少 6 个月
# 四、数据备份
# 备份策略
| 类型 | 频率 | 保留时间 | 存储位置 |
|---|---|---|---|
| 全量备份 | 每日 | 30 天 | 本地 + 异地 |
| 增量备份 | 每小时 | 7 天 | 本地 |
| 日志备份 | 实时 | 7 天 | 本地 |
# 备份验证
- 每周随机抽取备份进行恢复验证
- 每季度做一次完整恢复演练
- 记录恢复时间,评估 RTO(恢复时间目标)
# 备份监控
- 监控备份任务是否成功
- 监控备份文件大小是否异常
- 备份失败立即告警
# 五、应急预案
# 常见故障处理
# 数据库故障
1. 确认故障类型(连接失败、死锁、慢查询)
2. 查看数据库监控和日志
3. 必要时切换主从
4. 联系 DBA 支持
1
2
3
4
2
3
4
# 应用故障
1. 查看应用日志和监控
2. 重启应用服务
3. 必要时回滚版本
4. 分析原因,修复问题
1
2
3
4
2
3
4
# 网络故障
1. 确认故障范围(单台、部分、全部)
2. 检查网络配置和防火墙
3. 联系网络管理员
4. 必要时切换网络线路
1
2
3
4
2
3
4
# 应急联系人
| 角色 | 姓名 | 电话 | 职责 |
|---|---|---|---|
| 运维值班 | 张三 | 138**** | 一线响应 |
| 技术负责人 | 李四 | 139**** | 技术支持 |
| 项目经理 | 王五 | 137**** | 客户沟通 |
# 六、性能优化
# 性能监控
- 定期分析慢查询日志
- 监控 API 响应时间趋势
- 监控系统资源使用趋势
# 优化方向
# 数据库优化
- 定期索引重建
- 优化慢查询 SQL
- 历史数据归档
# 应用优化
- 缓存热点数据
- 异步处理耗时操作
- 代码性能优化
# 架构优化
- 读写分离
- 负载均衡
- CDN 加速
# 七、变更管理
# 变更分类
| 类型 | 审批 | 示例 |
|---|---|---|
| 标准变更 | 运维经理 | 常规发布、配置调整 |
| 重要变更 | 技术负责人 | 数据库变更、架构调整 |
| 紧急变更 | 项目经理 + 事后补审批 | 紧急 Bug 修复 |
# 变更流程
变更申请 → 影响评估 → 审批 → 实施 → 验证 → 记录
1