如何组织备战
重要节点
从大促启动会开始后我就开始计划我们本次备战的整体节奏。
挑战在哪
以上内容介绍了CDP平台有多么重要,那么画像系统备战的核心挑战在“如何保障在大流量高并发情况下系统稳定提供高性能服务”,主要表现在:稳定性、性能两项上。
稳定性:
1.在系统遇到紧急情况时,如何容灾快速恢复。
2.在大流量情况下,如何做好系统的流量管控,保障系统的可用。
性能:在大数据量近百万级TPS流量下如何保障系统性能(TP999:50ms以下)。
流量:黄金流程最底层环节,预估流量会被放大,整体流量备战预估到98wTPS
其实观察我们每天日常的流量就会发现,每天我们都在进行“大促”,并且日常也会存在流量激增。
我如何“操盘”
系统梳理
这一阶段主要是梳理参加大促的核心应用,我觉得最重要的一点就是梳理出来618之后都有哪些变化?因为系统总是在不断的迭代升级,一是要确保这些变化项不会影响系统的性能,二是如果有不能按照之前大促的经验评估的新的备战接口要重点去做流量收集。梳理出系统后就要进行单机压测根据压测的结果评估性能是否达标,也是对这半年的迭代交一份答卷。最后还要根据压测结果配置JSF单机限流(前置单机接口层)——稳定性保障
容量规划
我针对容量规划主要分为两个方面,一是重新进行应用的单机压测明确我们目前单机的承载量最大是多少,二是收集上下游业务方的流量,根据这两个方面进行评估算出这次大促要扩容多少资源。在根据收集上来的业务方流量提报进行应用限流,目的是保证大部分流量可控)——稳定性保障
容灾备案
梳理出所有的系统降级预案,系统核心节点灾备做到一键切换,明确操作手册,快速操作——稳定性保障
降级预案
让你的系统“坚挺不到”的最后一个大招——降级,我用一句话来概括就是将有限的资源最大化。比如我们的系统在峰值点就会暂停群体、标签的加工,也会暂停上游非重保的MQ作业,就是为了腾出更多资源给核心程序使用,以最大化保证核心业务的可用性。
军演压测
在这个阶段集团会组织多次的线上集群统一压测,(在这期间进行所有的降级演练、确保所有的降级开关可用)——稳定性保障
实时监控
重新梳理并配置系统关键链路的报警配置(电话、咚咚报警),并且我还会安排专人备战系统各个核心服务,专人专服,提升处置效率。
“惊悚时刻”
11.4日13:51分接到报警电话。
11.4日13:52分查看命中接口SGM的tp999激增,同时我马上给R2M运维老师打电话沟通得知原因。
11.4日13:53分我快速操作系统的灾备开关将系统切换到备链路,在这里我给大家的建议就是一定不要犹豫,不要上来就一直追查原因快速的做出反应和判断,最小化的减少对线上用户的影响。
以下这张图可以看到在两分钟内系统就恢复了正常
在大促期间的稳定性保障一般属于应急策略,因为在前期梳理系统时我详细的梳理了系统的降级预案明确操作手册,系统核心节点也有灾备能力并且在集团组织压测阶段也进行了降级演练,所以在出现问题时我们快速操作降级,在最短时间内解决了接口的性能问题。
总结与感悟
备战2023京东11.11是一次非常宝贵的学习和成长机会。
1.在这次备战初期梳理阶段,我学到了很多专业知识,也锻炼了自己的团队协作和问题解决能力。尤其在梳理系统架构变化点阶段能从各个角度(稳定、成本、运维)来了解为什么会这样变化。
2. 在大促当天大家都会在会议室里集中备战,我确实很紧张,但是我会组织大家再一次巡检所有的系统,核对降级列表、对其他系统的限流配置。对于我来说在晚上8点前后10分钟这个时间段是度过的最慢的并且也是最最最紧张的时候。 在这20分钟里,我要进行通知用户降级、操作系统降级、观测线上系统监控、恢复降级,并且要列张表格让团队每位小伙伴都有专门的监控项确保实时保障系统的稳定性。
3.最后当系统在峰值点运行正常,并顺利应对高并发压力时,我也会感受到巨大的成就感和满足感。大促确实很累,需要准备2个月左右的时间,大促期间还要有好几天到后半夜甚至通宵。但从某种角度上来讲大促更像是一次技术大考,一次全体人员的节日,未经历过是无法体会的,不经历多次是无法全面了解的,所以尽情享受吧。
作者:京东云开发者
链接:https://juejin.cn/post/7302605813206155290
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。