记者 | 于浩
编辑 | 宋佳楠
在得知京东拿下虎年春晚独家互动合作伙伴的消息后,京东云基础设施研发部高级总监常亮便迅速进入紧张的“备战”状态。他需要对春晚项目管理数据中心及服务器运维工作负责。
为了应对类似“春晚播出时流量抵达峰值,网络专线出现堵塞甚至中断”等紧急情况,京东春晚项目组准备了多个“应急剧本”,以最简洁的方式规定“什么场景、谁做什么、多久恢复”。
即便已经一再精简,这个方案也有61页,约2万字。就在常亮团队对上述场景做剧本演练时,意想不到的情况发生了。
常亮回忆说,按照剧本执行的预期结果,系统会因线路中断产生一次震荡,随即在实施补救措施后回到稳定状态,可实际结果却出现了三次间隔五分钟的系统抖动。这对于团队来说并不是好消息。
经过仔细复盘,团队发现第一次抖动的原因是演练,第二次与第三次则是由于其他部门的额外操作意外影响到了这次演练。常亮长舒了一口气,“最后验证下来,这个剧本还是有效的。”
为春晚红包活动做准备的不仅仅是京东云。今年的春晚互动与往年不同的是,除了发线上红包,还会有实体礼物。因此京东零售、京东物流的相关团队也加入到春晚项目组中,有针对性的进行准备工作。
由京东集团总裁徐雷整体负责,京东零售CEO辛利军牵头,京东内部已经为春晚成立8个项目组。一场“春晚红包保卫战”已经在京东提前打响。
备战,备战
阳历新年刚过,中央广播电视总台便正式宣布京东成为2022年春晚独家互动合作伙伴,双方将在红包互动、电商等方面展开全方位深度合作。京东也成为继微信、淘宝、百度、抖音之后,又一个为春晚“发红包”的大公司。
常亮更早得知了这一消息。元旦假期,他本在长阳一个滑雪场和家人一起跨年,结果第二天便接到了公司要求紧急开会的通知。有些茫然的他立刻赶回京东总部。
“第一时间知道能参与这个项目,大家心里有焦虑,但更多是骄傲。”常亮说,由于当时结果还没官宣,所以技术上还在评估阶段,做不做、怎么做都还没确定。“但央视把任务交给京东,技术层面则是由我们在座的各位去承接,这给人一种使命感,无论如何都要把这件事做好。”
随着消息落地,项目组正式运作起来。京东内部首先将任务拆解为几大模块,每个模块指定集团VP级的核心接口,下面再细分多个一号位,常亮正是技术资源的一号位。
从1月5日启动备战,到1月24日春晚红包互动预约活动开启,只有短短的19天。前十天,各个一号位每天需要开早会、午例会、下午日例会、晚上大夜会四场会议,集中办公同步需求、商量方案并跟进落地情况。
19天内,春晚项目需要快速拆分近600个需求、共3000多个任务,并保证600多个上下游系统的快速交付以及数百万核心资源的快速扩缩容。要协调好这场超大规模的研发协同作战并非易事。
在这方面,京东内部的研发协同开放平台行云平台扮演着协同落地的角色。据京东云行云及devops产品负责人贺玉芝介绍,行云平台支撑无限层级的需求拆分,可将需求拆分至不同的团队,并对从需求、开发、测试、发布到运维、运营整个生命周期提供保障;其次,平台上的低代码能力使得产品经理能够以搭积木的形式快速构建起春晚红包的应用场景。也得益于此,短短两三天内,红包活动应用便已搭建完毕。
之后就进入到压力测试环节,即检测红包应用能否在春晚脉冲式流量高峰下提供稳定的用户体验,并在测试中不断优化。
“我们要去压榨每一个CPU时间片的计算资源,不断压缩在网络上传输的数据包,让数据包尽量的小,不浪费一个字节的网络带宽。”京东云全链路监控春晚支持负责人沈建林告诉界面新闻。
有限资源“对抗”无限流量
作为最具“年味”的文化符号,春晚自带庞大流量。即便是6·18与双11大促,在春晚面前也只能说是“小巫见大巫”。
据常亮介绍,双11期间的流量高峰累计持续时间大约是半小时左右,包含晚8点和24点两轮峰值;而春晚则会从晚8点一直持续至第二天凌晨,包含七轮互动活动七轮峰值。
据京东方面预测,这次春晚项目所要求的每秒查询次数会轻松达到数千万级别。但为春晚的一次性需求增购远超平时需求的服务器资源,意味着要为低利用率的资源付出大量成本,这对京东而言是性价比很低的做法。
据京东云T-PaaS及中间件负责人张金柱介绍,此次京东云需要做到不增加服务器的情况下应对春晚红包的流量压力,对资源调度、系统架构的弹性提出了严苛要求。
为了满足资源调度需求,京东云选择对支持的所有项目进行分级。常亮告诉界面新闻,与春晚红包链路相关的为S级,其余项目则根据重要性依次归为ABC级。常亮团队会通过数据评估算力对各个业务的重要程度,论证流量洪峰过后提供算力是否真的无法接受。
起初,有些6·18期间被归为S级的业务突然被降至A级,对应的业务线不免有所质疑。但随着配合的深入,各个业务线逐渐理解了调度安排,作出了很多调整。京东零售技术体系内部一些与红包发放关联不算紧密的环节主动降低资源需求,为春晚交互保障让路。
在对在线业务进行等级划分之后,京东云得以针对不同业务的优先级进行资源调度。京东云云原生产品研发部容器研发负责人赵建星介绍说,“整个春晚演练过程中,资源需要在红包互动与购物交易之间来回切换,这种规模和调度频率是京东史上最大、最高的一次。”
即便后端做了万全准备,当晚活动页面数千万量级的QPS(每秒查询次数)依然是一个难题。“数千万请求一下全部打到后端,肯定是不行的。”常亮坦言。
关键点就在于如何分流。对此,常亮团队首先从招商部那里拿到了所有商家名单并提前制作好所需要的素材包,同时发布新版京东APP,将素材包提前预制在新版APP上,这样活动当晚一部分压力可以被成功分流。
在春晚活动之前,京东活动运营部会准备预热活动。当用户被活动吸引主动打开APP时,一些隐藏元素会被提前加载至本地,这就使得原本会在一秒中内发起的请求被分散至了春晚晚8点至24点间的其他预热活动中。
如果现场访问峰值超出预期,团队仍然有应对之策。“我们会在APP端预埋一个时间段,随机一到三秒内打开活动页。”常亮强调,“这样再次把时间点摊开,从一秒数千万到两秒数千万,确保系统能够扛住。”
物流供应链迎大考
与过往春节红包互动活动所不同,今年京东准备的15亿福利中,除线上红包之外,还包含有实物礼品。
春晚互动活动将从腊月二十二(1月24日)起一直持续至元宵节(2月15日),这期间京东将面临大规模的实物商品的流通压力。此前京东零售CEO辛利军也表示,春节期间京东将继续提供配送服务。
等待京东物流的也是一场大考。
“年货节及春节备货从12月下旬就开始启动了。”京东零售电脑数码事业部智能数码采控经理周大洲告诉界面新闻,“我们以单品维度进行销售指标的拆解和入仓总量确认,每周再根据销售情况、后续业务规划以及供应商库存情况动态调整提货计划。”
随着配送时效的不断提升,提前预测订单并把库存尽可能前置到消费者附近的仓,成为业内的普遍做法。去年9月,随着京东物流三位一体供应链技术体系中数智化服务产品智能商务仓的推出,其预测销量、库存分仓的物流管理能力也开放给了商家。
京东物流价值供应链产品负责人郑研在采访中提及,京东物流会针对春节期间的促销波峰做销量预测,并与商家客户进行沟通,共同商量备货。
而对于配送环节,京东物流提供的基于位置的地图基础技术服务是核心要素。当APP启动后,该技术可以根据用户的地址信息为其推荐距离更近的商品,在履约过程中,也需要根据地址信息将订单信息分配给最近的生产仓、分拣与配送站点。简单来说,定位越准,配送路径越短,履约速度也更快。
春节红包活动与京东年货节的双向加持,必然带来巨大的流量压力。“我们换算发现,这次对物流系统会是接近百万级的QPS,所以在备战期间也对地址编码服务等方面做了优化。” 京东物流春晚项目技术执行负责人张玉表示,“目前压测得出来的结果是99%的流量都能做到毫秒级的响应。”
面对已经到来的物流高峰,京东物流的仓配环节也需要做产能与运力的准备工作。根据京东物流春节运营保障项目负责人揣军所说,团队会基于订单预测的情况按照生产流程分拆产能。首先拆分仓的环节,再据此明确分拣环节的接收量和处理量,最后根据订单时效分波次安排运力资源。
针对年末各地出现的疫情反复情况,京东物流也准备了涵盖仓储、分拣、配送等环节的防疫措施。据揣军介绍,进仓的车辆会先进行消杀再卸货,同时会有工作人员在卸车口对单个包裹进行消杀;在末端站点,会对营业部的员工进行体温检测与定期核酸检测,要求京东小哥佩戴口罩、进行疫苗接种。
“我们今年预计会有超20万一线员工值守。”揣军强调说。
无论对于包含这20万人在内的京东员工,还是对整个公司而言,除夕当晚注定是一个不眠之夜,更是一场只能赢不能输的“战役”。
常亮已经决定当晚继续在岗位职守。作为技术资源的一号位,他将自己职守现场的作用比作吉祥物。“有的时候,比如真的调一个交换机,可能密令我都调不全。”他打趣道,“但是你坐在这里,很多同事好像没有那么慌了。”
老家在辽宁沈阳的张玉同样选择过年不回家。作为物流集团春晚项目组技术骨干,张玉也担心值守人员出问题。不过,他表示目前准备工作整体上都在按计划有序推进,有信心交出一份满意的答卷。