一、双写还没开,缺的不是硬件是"准入"
接着上一篇把排序协议讲清楚之后,很多读者问:协议都定了,双写阶段怎么还没启动?鼎上娱乐技术线今天的回答是——双写真正卡的不是搬机器、不是接链路,而是"准入观察"还没走完。在把两份写落到两个节点之前,系统需要连续一段窗口证明:影子运行的结果和中心判定稳定一致,一致率不是偶发达标,而是能天天达标。
这一篇就讲这个观察窗怎么设计、达标线怎么定、以及为什么半决赛期间宁可只观测、不切主。
二、影子运行攒下的底子
回看边缘节点影子运行第一天的报表,那组数字是今天准入判断的地基:1.8 万条事件、99.97% 一致率、差异只有 5 条、一次都没触发回退线。影子运行阶段,边缘节点只做"跟着算但不生效"的并行计算,结果和中心对比,不影响玩家。这一步验证的是"算得对不对",还没验证"能不能同时写"。
从影子到双写,中间差的是一个关键动作:让两份写都真实落库,但只有一份对外生效(主),另一份用于比对(从)。这正是准入观察要守的门。
三、准入观察的连续达标窗口
双写启动前,系统要求一段连续达标窗口:在这段时间里,双写比对的一致率必须天天不低于目标线,任何一天跌破就重新计时。为什么是"连续",而不是"平均"?因为偶发的一次一致说明不了稳,只有连续多个周期都稳,才能排除是流量低谷期的假象。
达标线沿用既定的两个阈值:回退线 99.5%(连续 10 分钟低于它就触发回退),达标线 99.9%。观察窗要看的是——达标线之上能连续稳住多久,以及离回退线有多远的安全垫。
四、为什么只观测、不切主
半决赛就在 11 月 5、6 日。这个时间点,技术线的纪律是:双写可以并行跑,但对外生效的那一份(主)绝不能在这个窗口切到边缘节点。原因有三:
- 风险不对称:比赛期间任何一次判罚帧(250ms 一帧)的错乱代价极高,而双写切主带来的收益(更低延迟)对无观众演播厅的赛事判定并无必要;
- 观察被污染:切主之后,边缘节点的写就成了真值,再也比不出"影子对不对",准入观察的连续性会断;
- 回退成本:一旦切主后触发回退线,比赛进行中的回退会牵动实时判定,这不是能拿来试错的场景。
所以半决赛期间的定位很清楚:双写用来"多攒观察样本",不是用来"提前上岗"。
五、时钟偏移仍然是那条最细的缝
上一篇讲过墙上时钟不可信。到了准入观察阶段,这个问题的表现形式变成:两份几乎同时的写,在两个节点上记到的本地时间可能有几十毫秒的偏移(实测时钟偏移在 ±40ms 量级)。如果直接拿本地时间排序,这 40ms 就足以把先后写反。
双写排序不依赖墙上时钟,而是本地单调序号 + 节点标识定序,再由中心做全局定序,快照兜底。观察窗要验证的正是:在真实并发下,这套定序能不能让两份写的最终结果稳定回到同一个顺序上——也就是那 99.9% 一致率到底稳不稳。
六、复制滞后与判罚帧的时间预算
双写意味着一份写要复制到另一份,复制有滞后(实测约 340ms)。系统对判罚的时间预算是 250ms 一帧,三段链路预算 300/400/200ms、总目标 0.9 秒。复制滞后的存在,决定了"中心定序"必须在滞后窗口内对两份写达成一致,否则边缘节点拿到的还是一个未收敛的中间态。
准入观察盯的就是这条时间线:当复制滞后、时钟偏移、判罚帧三者叠加时,系统会不会在预算内交出一致结果。P95 从 2.1 秒降到 1.3 秒的优化,就是为了让这个叠加窗口尽量落在预算里。
七、30 秒快照:观察窗的兜底底片
每 30 秒一个全局快照,是准入观察的"底片"。它的作用有两个:一是万一两份写在某个瞬间对不上,快照给出一个可回放的权威基准,判断到底是定序错了还是复制没到;二是它兜住了"连续达标"的可信度——没有快照基准,一致率只是两个节点自说自话的数字,有了快照,才有一个第三方参照系。
八、四类合并规则在观察中的角色
准入观察不只是看"一致不一致",还要看"不一致时合并得对不对"。四类冲突合并规则(先到先得、最后写赢、只增不减、判罚永不下沉)在观察期会被逐条回归:每出现一次差异样本,就对照它属于哪一类、系统按规则合并后的结果是否和中心一致。差异只有 5 条的影子报表之所以值钱,是因为这 5 条每一条都能被归进合并规则里解释清楚,而不是随机噪声。
九、切主之前还要看的两个指标
观察窗走完后,真正决定"能不能切主"的,是这两个指标同时到位:
- 连续达标窗口的长度:一致率保持在 99.9% 之上、且始终远离 99.5% 回退线的连续时长,要覆盖一个完整的高并发周期(含一次周五双倍夜这种峰值),低谷期刷出来的漂亮数字不作数;
- 回退演练的可达性:必须真做一次"模拟触发回退线→边缘写降级回中心写"的演练,证明降级路径是通的,而不是只在纸面上定义了阈值。
半决赛结束后,窗口如果仍在连续达标,双写切主才进入"择期评估",而不是"立刻执行"。
十、一句话记住今天
双写没开,不是卡在执行,是卡在"敢不敢让它对外生效"的准入判断上。连续达标窗口、只观测不切主、快照兜底、回退演练——这几样凑齐,双写才算真的过了门槛。顺序是协议给的,但让协议上岗的是证据,证据就是这段谁也没捷径可走的观察窗。