双十一的个人感悟

从9月13日双十一第一次建站压测开始到11月12号24点二峰值班彻底结束,这几乎2个月的双十一大促作战就算完成了90%,只剩下复盘总结和残余问题的处理。现在回首,那这真是即痛苦又繁忙还费肝的两个月啊!从“建站应用测试-混部机器确认-建站压测-跟进压测问题-考拉压测链路打通-重点数据库中间件信息收集-各种扫描巡检-全链路验收”最后到双十一大促实战值班。当零点的时刻在长春谷看到SDP和其他应用们成功的顶住了双十一一峰和二峰的流量,无论是单机还是缓存数据库的表现都在预期内,心里还是有那么一丢丢的兴奋。

2021年是我第二次参与集团双十一作战,本次主要负责内容是“全链路压测”、“BU内封网安排”、“容器管控”和“大促稳定性”。相比较去年,懵逼新人的我只是一路的follow,今年的我在双十一参与的更多,主动 or 被动的交流更多,经过这些锻炼自然也学习到了更多大促和稳定性相关的知识。本篇不是一个技术性很强的文章,更多的是一些总结和个人感悟。

作为稳定性负责人,最怕的是就是懵,最囧的时刻就是别人问你大促相关的比较基本的信息你却答不上来的时候。首先我要熟悉整个大促的里程碑和细节安排,不仅仅是几号有压测,几号正式开卖这些粗粒度的常规时间点。“几号几点预售付定金”,“几号几点开始付尾款”,“什么时候XXX禁写结束”,“一峰的尾款期到几号几点结束”等等这些精细到小时的安排都要熟记,都跟开发同学一起对比作战手册上的时间点check预案、预热等结果。做好这些工作,当你看着作战室交易大屏的时候,突然某些流量改变了,就不会奇怪了。

除了这些,集团的一些内部的安排和相关流程也要熟悉,以我这两个月跟的最多的sdp为例,sdp、mic、tsp三者合一之后,sdp成为了供应链在集团交易链路的独苗,仅有的能阻断交易下单的几个应用之一。它暂时还不具备单链路压测的能力,是因为它还不具单链路压测的能力,是因为它还不具备独立制造压测数据的条件,SDP的压测数据涉及到诸多的因素:商品中心、库存优惠等等诸多依赖,所以对于SDP的功能点验证就要珍惜每一次集团交易链路压测的机会。而且在压测前明确压测范围、压测单元、压测目标,提前圈好集团各种资源,做好上通下达,制定合理的时间步骤同步到群里,同时要确认压测的影响面,比如notify交易信息会不会走到中心,会不会影响到不需要参加压测的风控链路等等,避免不必要的误伤。

既然是大促,那么大促链路上涉及的应用也要有一个总体的list,我从aone离线表找出来供应链online的700多个应用,按照几次集团全链路验收和618实战的时间戳,通过sunfire的api拿到他们的cpu、流量等值,与他们日常同时间段的对比,凡是脉冲时间段这几个指标有明显上涨的,以及日常也不低的应用全部被我们圈定为大促链路上的应用,将他们做成了一个xflush看板,配上各种系统指标,成为了我在高峰期间除了BUY2错误码和duct平台之外,盯屏的又一部分。

除了上面这些,还要学会从系统水位看深度问题,哪怕是磁盘空间不足这个最简单的事儿也可以稍微深挖一下。比如我们有一个应用是uop-hkc,它只有10台机器,在一峰之后到二峰短短几天,数据量上涨迅猛,明明31号中午已经清理干净,但是9号巡检发现磁盘已用量逼近100%,不仅让人有点奇怪,后来经开发确认,它订阅的消息太多,而且有些日志埋点是完全不必要的。而这个uop-hkc本身只是一个工具应用,不应该承担业务侧大流量消息。跟它上游应用的开发商议,先确认二峰的时候这些消息能否先降级,双十一二峰之后会去掉这些日志埋点。类似这样的小线索,可以帮助我们挖出来几个这样“不合理调用”的稳定性小隐患。

实战中,合理分配容器额度也是很重要的一环。大促期间稳定性出了问题无非就那么几招:duct铲除抖动容器、紧急预案和扩容硬抗等等。预案对于开发同学来说他们更熟悉,而作为容器管理者的我就要提前把容器分配好。首先要知道了解大促0点链路应用的容器分布情况:目前供应链的交易链路已经全部上云,交易链路的容器量(含混部)已经在财年初就评估完毕,而且交易链路主要的任务就是抗0点脉冲和付尾款那几百秒,他们的资源一旦通过全链路验收后就不可再动,这里的“不可再动”不是单纯的减少,是不能减少也不能增加!因为集团会对交易和导购的应用做资源编排,扩容和缩容都会对编排造成影响,所以他们不会需要也不应该需要额外的容器紧急扩容。而供应链的发货链路、逆向退款链路和库存链路,普遍都是云下机房,那么就要提前给他们准备充足的机器备用,自己手里也握有公共资源池以防其他链路上的不测,同时安全生产同学时刻关注系统水位,一旦出现了预期之外的fullgc这样短时间内无法通过发布修复的问题,就直接Normandy扩容缓解达到临时止血的效果。

身为一个名安全生产同学,除了故障应急、跟进技改风险点等常规工作之外,横向协调工作也是我的本责,这也体现了供应链BU各同学对我的信任。我这两个月跟淘系、业务平台、菜鸟、GOC、中间件、数据库、容器平台、集团SRE等BU都刷了不少的脸,跟这些同学的交流中学习了很多,这些知识可以让我对内答疑,同时从他们各平台的某些“规矩”里也感受到了他们在稳定性上花费的良苦用心。

安全生产的定位就是“辅助”,目的就是让开发同学能全力的投入开发同时更要保障平台高可用,工作性质肯定是又杂又多,比较累心的,但是正是这种工作更要考验我化零为整,培养规划性的能力,这样才能做好下一次的双十一!

现在的双十一已经不如前几年那么强劲了,由于中国生育率连年走低和网民几乎饱和,导致这个蛋糕的量基本已经确定。ToC的分母也基本已经固化,所以现在双十一面临一个转型,由曾经靠各种“九块九”的低廉甚至高仿的日用品,通过短视频直播等形式转型成单价较高的产品。其实现在三线以上城市的中国大陆人民有钱,也需要培养他们提升生活品质的心智,那什么东西会提升生活品质呢?无疑就是电器—一个新手机、一个新电子书、一个switch、一个扫地机器人、一个按摩仪等等等等。那么维持当前的客户“分母”不变,同时增加他们在中高价钱上的消费,就是提升GMV的又一个好办法。

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------