本节摘要:规范是把本册全部教训固化为流程的手段:作业命名与标签让集群可治理,资源与告警基线让健康可度量,变更与交接流程让事故可避免。本节给出一套可直接落地的门禁清单,并解释每条门禁背后的那场事故。读完你应能对任意作业做一次完整的上线评审。
规范的尴尬在于:没人写它时相安无事,写完总有人嫌繁琐。所以本节不打算罗列"最佳实践",而是每条门禁都交代它背后的那场事故——看过事故的人对规范的态度会完全不同。门禁按生命周期分四道:命名与登记、资源与告警基线、变更流程、值班交接。
一条不起眼的门禁:作业名必须含业务域、链路名与环境标记(比如 realtime-dashboard-prod),并在元数据里登记负责人、告警接收人与恢复手册的位置。背后的那场事故:某集群三十七个作业全叫 "job-1" 到 "job-37",深夜告警"job-23 挂了"时,值班工程师花了二十分钟才弄清它是谁的、管什么的、挂了影响谁——业务方的电话在这二十分钟里打了三轮。命名的本质是让任何人在三分钟内接管任何一个作业。
上线评审的资源基线四问:并行度有出处吗(8.1 的算术)、内存配比有症状依据吗、状态有 TTL 吗(8.2 的成对配置)、键分布评估过吗(8.3 的倾斜预检)。四问有一问答不上,评审不通过。背后的那场事故:一个没做键分布评估的作业平稳跑了半年,大促当晚热键爆发,连带三个共享槽位的作业雪崩——预检五分钟的事故,事后复盘了两个通宵。
告警基线三问:每条告警绑定处置动作了吗(6.3 的纪律)、阈值从基线分布取了吗、告警接收人登记了吗。背后的那场事故最黑色幽默:某作业的 checkpoint 告警配了,接收人却写的是两年前离职员工的邮箱——告警安安静静发了三个月,直到大屏停更才有人发现。
生产变更的门禁清单五条:其一,变更走 savepoint 通道(第 4.3 节的流程,含算子 UID 检查);其二,变更前记录当前快照路径——它是回滚的唯一退路;其三,变更窗口避开业务高峰,大促冻结期内禁止一切非紧急变更;其四,变更后跑满一个检查点周期再对账再宣布成功;其五,紧急修复也要事后补写变更单——流程为速度让路可以,但账不能丢。
⚠️ 常见坑:把"变更快"当能力。生产事故的根源统计里,变更占比常年过半,而其中又有一半跳过了快照记录——那行省下来的命令,是下次事故里唯一能救命的退路。
交接的门禁只有一张表:每个作业的"应急名片"——状态健康的三条判据、最常见的两类告警与处置动作、回滚路径、上下游联系人。交接时新旧值班人对着名片抽问两个作业,答不上不算交完。背后的那场事故:一次跨团队交接,文档里只有作业清单没有处置方法,新值班人在第一次告警时对着恢复手册的位置问了三个群才找到入口——那二十分钟的每一分钟,业务方都在损失。
| 门禁项 | 检查动作 | 不合格的红线示例 |
|---|---|---|
| 命名登记 | 业务域加链路名加环境、负责人与手册登记 | 集群里全是 job-1 式命名 |
| 资源基线 | 并行度出处、TTL 成对、倾斜预检 | 头部键流量未知就上线 |
| 告警基线 | 阈值有基线、告警有动作、接收人在册 | 接收人是离职员工 |
| 变更流程 | 快照路径记录、冻结期执行 | 变更单事后补不上 |
| 值班交接 | 应急名片可抽问 | 交接后无人能定位手册 |
规范落地的两个组织学要点。执行靠评审自动化:门禁清单里能量化的部分(命名格式、告警接收人在册、TTL 配置存在)应做成提交时的自动检查,人只评审机器判不了的口径类问题——纯靠人记忆的规范,三个月内必然失守。豁免要有通道:紧急事故下的"先恢复后补票"必须被制度允许,否则规范会被一线用脚投票。豁免的代价是二十四小时内的补单与复盘——既不让规范挡住抢救,也不让豁免变成惯例。
大促场景值得单独设一道门,因为它把前面四道的风险同时放大。冻结纪律三条:冻结期开始前一周完成所有变更(给"变更后观察期"留足时间);冻结期内只允许两类操作——按预案的扩缩容与紧急止损,其余一律走特批;解冻后的第一周不排新变更(先让系统在真实流量里观察一段时间)。预案演练三条:扩缩容演练必须真实拉到预估峰值(纸面推演不算)、降级开关必须实际拉过一次并验证业务感知、值班桌面必须演练"主备监控同时失联"这类极端场景的通讯备份。背后的那场事故:某团队冻结期内紧急上线了"小改动"(改一个窗口参数),未走快照记录,当晚作业异常重启后状态作废,大屏从零累计——那一晚之后,这家公司的冻结纪律再没被挑战过。
落地时评审会怎么开?给一个三十分钟的走法模板。前五分钟听提交人讲三件事:业务口径、资源账(并行度出处)、状态账(TTL 与规模心算)。中间十五分钟按门禁表逐项过:命名与登记核对元数据、告警配置现场抽一条看文案、变更流程确认快照记录方式、演练记录逐份翻页——翻页不是形式主义,演练记录的真实度只有翻页能看出来。最后十分钟留给"红队提问":让评审里最有经验的人专问预案外的情况("特征服务整体挂三十秒会怎样""上游分区从八变十六会怎样"),答不上的问题当场记为上线前置任务。这套走法跑几次之后,团队会发现评审时间越用越短——因为提交人在评审前就会把清单先自查一遍,门禁的终极形态不是拦住坏作业,而是让坏作业在提交前就自我修正。
距离毕业只差一步:下一节,全册知识的总装验收——一个实时大屏任务从需求到生产的完整复盘。