京东近日出席ArchSummit全球架构师峰会深圳站活动,京东商城交易平台架构师李尊敬发表了主题为《京东交易系统618保卫战》的主题演讲,从压力测试、全链路监控、多中心交易等方面,与在场的技术人士分享了京东交易系统在618大促中的优异表现,充分展示了京东成熟的技术对业务高速增长的可靠保障,以及对用户体验的提升。
犹如实战的压力测试
在618备战环节,压力测试(简称“压测”)是检测系统稳定性的必不可少的环节之一,在胜利完成数次618大促的过程中京东压测也经历了由早期工具化向平台化的转变。目前,京东压测平台DPMP已实现了Session共享、统一数据存储、多用户并行执行、结果实时展示等功能。DPMP以多控制器、多节点的办法,在不同城市IDC均有机器部署,在底层已经封装完毕,只需要编写压测脚本、定义逻辑即可实现。
京东通过历年的大促备战积累了丰富的压测经验。压测的前提条件是流量隔离,通常可以先进行单台压测,再进行集群压测。前者可调测参数实现单台性能***,并可评估集群理论上限;后者会做一对一的压测,将一台压测机器对应一台服务器,确保流量***化。此外,在压测的细分上,还可以通过读流量压测进行页面逻辑的测试,通过写流量压测检验应用服务器,以此了解每台服务器的实际抗压能力。
京东每年在大促前夕,都会进行实战演练。通过技术手段积累一定的订单量,然后“开闸放水”,大量订单突然涌入系统,观察从下单到发票打印等各个环节的订单处理时间,进行压力测试。由于实战演练都是在真实订单的基础上完成,因此对于整个系统的检测与优化都具有重要意义,是整个交易系统备战工作的重要环节。
全方位确保交易系统稳定
除了压力测试外,在京东618保卫战中,全链路监控也会对系统稳定性的保障起到至关重要的作用。为此,京东开发了交易天眼系统,通过它可以一目了然地监控到购物车、结算页、下单后、订单中心等基本流程在不同渠道(如PC/手机/微信、Web/Sdk)、不同机房的运行状况。李尊敬表示,目前此监控系统与服务操作已经整合,单击某个问题节点,就可以直接进行服务切换,快速解决节点问题,确保用户交易的顺利完成。
同时,京东的多中心交易系统就犹如 “城市加油站”,它遵循了同机房内流量闭环(不同机房流量不穿插)、路由一致性(一个用户只能在一个交易中心)、多中心数据延迟监控、多写最终一致性的原则。京东多中心交易系统能够在大促流量暴增时,让用户访问就近的交易中心,从而实现分流,优化用户在交易过程中的购物体验,也提升了京东交易平台的异地容灾与备份能力。
从618备战的压力测试,到京东的多中心交易系统,无论从技术手段的实施还是系统平台的搭建,京东都体现出成熟的技术,保障了618海量交易的顺利进行。而作为中国***的自营式电商企业,京东一直在通过技术驱动业务升级,并将自身的经验与优势对外开放,促进中国电商以及互联网行业的不断发展,为用户带去更加优质的购物与生活体验。