背景
为保证在大型活动/节日(双十一、黑色星期五)时服务稳定,提出各个角色必要的行动清单
涉及到的角色与职能范围(包括但不限于)
产品:确定核心功能链路,制定服务降级默认行为,提供活动预估数据
技术(开发/测试):服务压测,性能优化,提供服务最大承受能力,线上问题排查
运维:提供基础能力与监控
事前准备
时间节点:活动前四周
第一周
人员:拉通各角色执行人员,成立活动临时小组
内容:
全员
对齐核心功能链路产品
基于活动需要的feature、issue,整理本期的需求与降级默认行为研发
导出同类型/同期活动的数据,预估本次活动的请求量研发
基于核心功能整理缺失埋点研发运维
确定自动扩缩容规则QA
依据上述数据进行核心/非核心功能压测,生成压测报告运维
整理基础组件监控与告警
产出:活动需求、预估请求体量、扩缩容规则、压测报告
第二周
内容:
研发
进行功能与性能开发,整理降级/熔断开关研发
补充埋点与告警
降级/熔断开关列表(举例):
|------|--------|----------------------|----------|-----|
| 系统名 | 开关说明 | 操作 | 影响点 | 执行人 |
| 商品 | 推荐列表关闭 | recommend.flag=false | 返回默认推荐 | |
| 会员中心 | 积分异步发送 | async.send=true | 不会实时更新积分 | |
| 消息中心 | 邮件通知暂停 | mail.notice=false | 停止邮件通知 | |
产出:降级/熔断开关列表
第三周
内容:
研发
对新版本进行活动预演- 根据预演结果确定是否hotfix、制定应急方案
应急方案举例:
|------------|-----------|-----|
| 问题点 | 解决方案 | 负责端 |
| 出现紧急issue | 走hotfix流程 | 研测 |
| 机器内存/CPU异常 | 手工重启 | 研测 |
| 基础资源严重不足 | 手工扩容 | 运维 |
| 数据异常 | 手工调整或执行脚本 | 研测 |
产出:预演报告、应急方案
第四周
内容:
- 整理与执行checklist
- 确定人员分工与联系方式
checklist内容(包括但不限于):
|------------------------|-------|------|----|
| 内容 | 负责端 | 执行时间 | 状态 |
| 动态配置 | 研测 | | |
| 数据预热(缓存、jit、DNS等) | 研测 | | |
| 监控与告警 | 研测 | | |
| 权限申请(跳板机、运维平台) | 研测 | | |
| 机器资源(内存、CPU、磁盘、网络等) | 运维 | | |
| 服务指标(jvm堆、DB状态、中间件状态等) | 研测+运维 | | |
| 机器扩缩容规则 | 研测+运维 | | |
产出:checklist、人员分工联系表
活动前一天
内容:
- 执行checklist
- 值班人员报到与临时补位
事中应急
时间节点:活动期间
地点:集中工作室(异地可提前进入连线状态),方便实时沟通
内容:
- 研测盯数据、监控、告警,记录问题点
产出:现场问题列表
事后复盘
时间节点:活动后一到两周
内容:
技术
产品整理活动期间遇到的问题点,确定修复优化版本技术
导出活动期间数据,给下次同类活动作参考指导- 各端整理复盘报告(复盘规范),参与复盘会议
产出:复盘报告、优化版本需求