一、半决赛期间,天工引擎只做一件事:观察
11 月 4 日,半决赛前夜。当所有人的目光都在对阵上时,鼎上娱乐的技术线正在执行一条不起作用但极其重要的纪律:赛事冻结期,双写只观测、不切主。昨天讲过准入观察窗的设计,今天是这个窗口撞上真实大考的第一天——半决赛带来的并发峰值,恰好是检验"连续达标窗口"含金量的最好压力源。
这一篇把冻结期的运行规则、观察日志怎么记、以及赛后什么时候才有第一个切主时机,一次讲清。
二、赛事冻结期是什么:一条写死在预案里的纪律
冻结期不是临时决定,是准入方案里写死的规则:从 11 月 5 日 00:00 到 11 月 7 日 24:00(季军赛+冠军赛全部结束),边缘节点不接受任何切主操作,无论这两天的观察数据多漂亮。三个理由上一篇都埋过:判罚错乱的代价不对称、切主会污染观察连续性、比赛进行中的回退没人敢按。
今天再补一条工程侧的原因:决赛周的流量形态和平峰完全不同——开赛后十分钟的并发爬升、判定高峰的瞬时写压力,这些形态是观察窗最需要的"真实考题",让节点在只当影子、不当主的前提下经历它们,样本的置信度比平峰期高一个量级。
三、观察日志长什么样:今天的六个栏位
冻结期每天产出一份观察日志,栏位固定。以今天(赛事前最后正常日)为例,日志的六个栏位是:
- 一致率:全天与中心判定的比对结果,达标线 99.9%,今天的记录继续稳在线上方;
- 差异条数与归类:每一条差异必须归进四类合并规则(先到先得/最后写赢/只增不减/判罚永不下沉)之一,归不进去的算"未知",未知条数是真正的红线指标;
- 复制滞后:当前在 340ms 量级内波动,没有恶化;
- P95 写路径:上周优化后稳在 1.3 秒附近,没有回弹;
- 时钟偏移:±40ms 内,定序依赖的单调序号没有因偏移产生逆序;
- 回退线余量:99.5% 回退线距离当日最低点的余量,今天的安全垫足够厚。
四、明天开赛后,日志会变成什么样
半决赛 16:00 开打后,日志有三个可预期的变化,提前说清楚免得误读:
- 一致率分时段化:全天平均会因并发爬升略降,重点看的是判定高峰段(每一局的结算瞬间)的分段一致率,不是全天平均;
- 差异条数会跳升:流量翻倍,差异的绝对条数上升是正常的,看的是"未知归类"条数是否为 0;
- 快照密度临时加密:赛事期间 30 秒快照临时收紧,判定高峰段按更细的粒度留底片,赛后回看时每一笔争议写都有坐标。
五、双写还在跑,但两份写现在只有一份说话
澄清一个高频问题:冻结期"不切主"不等于"不双写"。两份写都真实落库,边缘那份照算照比,只是对外生效的仍然是中心。用协议的话说,边缘节点现在是"有投票权但没有执笔权"的角色——它的每一笔写都会被记录、比对、归档,但没有一笔会直接到达玩家。这正是观察窗要的形态:让它经历一切,为它兜住一切。
六、决赛周之后,第一个切主时机怎么定
11 月 7 日冠军赛结束、冻结期满,切主评估才有第一个窗口。但"期满"不等于"立即切",评估清单三条都要过:
- 连续达标窗口有没有被赛事打断:如果赛事期任何一天一致率跌破过 99.9%,计数器归零重头算,宁慢勿假;
- 回退演练在赛事流量形态下做过没有:平峰演练过的降级路径,要在决赛周的真实流量形态下再验证一次才算数;
- 新版本的变更风险:11 月 11 日的 1.1.x 数值补丁临近,切主窗口若与版本切换叠加,两个变量会互相污染,通常选择让开版本日。
三条过完,才进入"择期灰度"。换句话说,最快也要到决赛周之后、版本日之前的那两三天,才可能出现第一个读流量灰度。
七、观赛和数据线之间有什么关系
有两条直接关系,明天开赛后就能验证:一是判罚帧的展示——250ms 一帧的判定精度,在无观众、纯推流的赛事里会被第二屏数据面板原样呈现,你看到的数据延迟结构就是引擎真实的时间预算;二是应援点大屏比手机快 2-4 秒那个差值,本质是推流链路和判定链路的时间差,不是 bug,是两条管道各自的预算。看比赛时顺手留意,你会对这篇里的数字有体感。
八、冻结期最常见的三个误读
- 误读一:"数据这么好,为什么不切?"——准入要的从来不是单日漂亮,是连续窗口的置信;赛事期切主是用冠军局做实验;
- 误读二:"差异条数上升=出问题"——流量翻倍时绝对条数上升正常,未知归类才是信号;
- 误读三:"演练过回退=回退可用"——演练要在真实流量形态下重做才作数,这正是决赛周观察的价值。
九、这两天的值班清单
给技术线同学(以及关心进度的你)一份简洁的值班清单:每天固定时刻收六栏日志;判定高峰段盯分段一致率;未知归类条数一出现立刻归档留快照坐标;回退线余量跌破预警带宽只记录不操作。冻结期没有英雄动作,把所有异常留到赛后评审,就是合格的执行。
十、一句话记住今天
半决赛前夜,技术线的戏份只有一行字:让它经历,替它兜住。双写照跑、主不换、日志按天收——决赛周的真实流量会是准入观察最好的考官,等它交完卷子,切主的第一个窗口才会打开。