28

京东数科2020双十一备战实录

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzI0MDc5NzQ2MQ%3D%3D&%3Bmid=2247496949&%3Bidx=1&%3Bsn=ad8ad86f22ce3f13f91b9a31156b6b4b
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

数科双十一 备战

JUST DO IT

MZjuYbY.jpg!mobile

京东数科双十一动员会

2020年9月14日,京东数科正式进入11.11备战阶段。本次参与大促备战的团队共计19支,包括支付、中台、消金、运维及客服等,并继续由开放中台侧质量管理部组织各方开展备战工作。

中台侧负责人施李荣在备战会中指出: 此次大促,我们坚持科学备战,按照系统梳理→容量规划→容灾备案→降级预案→军演压测→实时监测的筹备过程,集合各方菁英,包括技术、业务、运营及客服团队,彼此协同,通过细致的排查、严密的演练、完备的预案,将系统调整到最佳状态应对大促,确保数科系统安全、稳定、可靠,为用户提供最佳体验。

针对此次备战,各支协同作战的团队梳理了5大核心链路,包括支付链路,金融APP链路、AI链路以及以机房、网络、基础中间件基础环境链路等等。各部门先后完成数千次内部压测、3次支付全链路压测及5次集团全链路压测。

除此之外,去年11.11后复盘出的40项待优化项已全部改进完成,最大限度降低风险,确保万无一失。

AVfYNfM.png!mobile

01

任务艰巨 迎难而上

本次大促遇到了较往年更为艰巨的挑战,在备战前期网络安全攻防演练尚未结束,面对迫在眉睫的扩容压测,备战团队从容应对,备战组织小组协同各部门全面梳理系统薄弱环节,进行系统优化,并与运维侧提前做好扩容及机器上架的准备,演练结束后第一时间启动扩容,确保与商城侧的全链路压测保持同步。

另外,不同于底层交易,前端系统处于流量洪峰的前线,且一直都处于高频迭代的状态,前端系统的性能与安全性保障面临严峻的挑战。以支付为例,原有加密算法对CPU的高消耗已经严重影响了服务性能。

因此,在进行原生加解密算法、对称与非对称加密相结合等多种尝试后,支付侧最终确认了AKS信道密钥加密+全报文对称加密的方式,将整个服务性能提升了2倍以上,并同时具备各版本加密方式实时监控与降级能力。

今年微信支付、ApplePay支付链路由零售侧转为数科侧承接,支付侧在短时间内完成系统重构。在网络层面,外网防火墙与其他业务进行隔离,避免被其他业务影响;在应用层面,非核心流程进行了异步化改造,HTTP请求完成池化处理,核心JMQ迁移至支付交易独享的Broker集群,优化后微信下单性能明显提升,Max耗时提升70%,TP999毫秒水平提升50%;

此外,支付侧还对微信支付链路进行了机房隔离改造,实现了核心链路的同机房调用,继而网络延迟与系统抖动的几率大大降低。 备战团队协同支付侧完成系统压测,并基于制定的应急预案顺利进行了演练; 且运维侧并行梳理了所需机器与网络的支持事项,最大程度满足了硬件资源的需求。

02

技术创新 科学备战

此次备战,数科侧与商城侧于前期进行了多次备战经验分享,针对亿级订单系统与营销优惠券的高可用架构设计深入交流,从技术创新的角度提升系统性能。“用户实名”模板批量查询接口,涉及热点模板数4个,除通过R2M缓存预热了全量模板外,还增加了Caffeine本地缓存,预热模板200个,进一步提升了Java缓存库性能;另外,“客户中心”通过全链路梳理,与支付、营销侧合作,黄金链路减少了20W TPS实名调用,从而减轻了服务器压力。各个系统通过不断的系统梳理及架构优化,大大减少了大促期间的资源占用,以相对较低的运维成本完成备战目标。

每年大促之际,业务侧的营销活动形式多样,“营销中台”不断沉淀往年备战的经验,在满足业务业务发奖、放券、发红包等营销需求的同时,不断进行架构优化。此次大促,“营销中台”完善调用链路,并进行了应用重组,去掉了无用层级以减少不必要的RPC;并且,部分规则改为前置校验,加大过滤范围,进而实现了对下游最大程度的保护。除此之外,营销系统采用二级本地缓存方式加载活动数据,使查库与主流程分离,从而降低Max耗时。

03

兄弟齐心 其利断金

今年备战初期,为兼顾网络安全的重要任务与备战扩容的迫切需求,备战团队采用交叉评审的方式,发掘备战盲区,确定协同方案,逐一链路梳理各系统之间的血缘关系,从而整体协调扩容及压测计划。运维侧郑灏总团队动态调配扩容所需服务器资源,以合理提升利用率,同时多次面向内部进行压测平台的宣讲及培训,为备战提供坚实保障。

在确保系统高可用性的同时,为预防黑产恶意攻击,运维侧协同开放中台侧开展了DDoS攻击演练,并由专业安全团队提供7*24小时安全重保,以监控业务健康状况,实时调整防护策略,在维稳大促的同时,降低了相应的运营成本。

rQJ3Yz.jpg!mobile

这样主动沟通,协同作战的案例太多太多,大促从不是一个人或者一个部门战斗在一线,是数科19支兄弟团队组成的特战队,为共同的目标携手向前。

回顾近年的大促数据,各系统抗流量峰值在短短几年间,已实现数倍增长。这些数字的背后,是数科备战全员智慧与汗水的沉淀—— 科学备战,敢为人先;技术创新,驱动增长;精益管理,诚至金开。

数科备战宣言

2020 注定不凡

6.18 我们 用百分之百的热忱之心

百分之百的专业精神

力保大促如磐石稳定   共抗洪峰如丝般顺滑

11.11 以一当十 万众一心 

一往无前 力争第一

我们将继续坚定科学备战的步伐

乘风破浪 再创新章

auQ3ma3.gif!mobile

yuuIRn.jpg!mobile

6ZNzIry.gif!mobile

关注技术说,我们只凭技术说话!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK