加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

死扛零点前十秒流量,预测屌丝取消订单,为了保卫双十一京东有多拼?

发布时间:2016-11-23 23:29:53 所属栏目:安全 来源:雷锋网
导读:副标题#e# 双十一,剁手党的节日,恨不能是各大电商程序员的忌日。 京东,作为全国买买买炮火的主要目标,架构师、码农们一边承担着全国人民打折购物的殷切期望,一边承受着老板东哥如芒在背的犀利目光。 总之,一旦出现闪失,后果不堪设想。 那么,究竟架

如果从下单开始,才从最大的仓库备货,12分钟也许都不够用来分拣。能够做到这么快,要归功于“订单预测系统” 。

死扛零点前十秒流量,预测屌丝取消订单,为了保卫双十一京东有多拼?

【订单预测系统工作原理】

刘海锋讲解了订单预测系统的工作原理:

一个商圈,将会在双十一购买多少手机、电池、尿布、啤酒这类标准品,是可以通过大数据来预测的。而京东的库房是分级的。有后端的仓储和前端的仓储。通过预测,京东会提前把一些商品前置到前端仓(FDC),这样在用户下单之后就可以瞬间从仓库发出,就近送到用户手里。

“自残式”演习:大规模故障模拟演练

验证技术团队可靠性的最好方式,莫过于真枪实弹的技术演习。

ChaosMonkey,是很多平台都在使用的故障演习模式,简单说来就是随即关闭生产环境中的实例,然后检查系统是否能经受故障考验。

刘海锋把这个英语词汇改成了更接地气的中文名称——响尾蛇。

总之,就是在双十一真正的考验来临之前,用一种“自残”的方式来检查系统的可靠性。

刘海锋介绍,京东的“响尾蛇”行动玩法如下:

把运维人员分为两组,一组资深的运维工程师在会议室里,负责模拟故障。而在会议室外面,是负责解决问题的小组。对于将要出现什么问题,会议室外面的小组是毫不知情的。模拟故障五花八门,从机器到网络,到模块,到服务,到中间件和数据库,甚至整个机房消失。应急小组都必须给出合理的处置方法,拼死保证业务不出现问题。

刘海锋说,“由于这种演练具有一定的破坏性,所以我们都是在半夜一点到三点之间进行。”

军演机器人:全链路压力测试

所谓压力测试,就是在真实模拟无数人访问京东并作出各种请求的情况下, 测试系统能否正常运作。

虽然各个环节的工程师都会对自己的系统进行压力测试,但是毕竟这种测试是分散的,导致最终容易在各个业务的接口处产生问题。而且,普通的压力测试,很难模拟真实用户的访问行为。

为此,刘海锋专门让团队开发了“军演压力测试机器人”。

这个机器人,就是模拟我们雇佣一亿人同时访问我们网站的行为。这套程序分布在全国各地,对我们的业务做全链路的读写混合压力测试。

如同军演一样,全链路的压力测试并不如想象般容易实现。例如,这样的演习不能使用真正的银行支付,不能影响真正的库存数量,不能动用真的物流。所以,和演习相关的所有上下游业务,都要设计一套虚拟系统。

在这套“军事演习”里,最重要的步骤就是“黄金链路压力测试”。所谓黄金链路,就是普通用户使用京东的“标准流程”,包括:登录,搜索,浏览,购物,结算,支付。这个链路,是双十一用户体验的最主要体现。京东的工程师们不断对这个链路进行测试,就可以发现很多存在的问题。

死扛零点前十秒流量,预测屌丝取消订单,为了保卫双十一京东有多拼?

【黄金链路压力测试流程】

以上,就是京东保障正在看文章的你“剁手顺利”的五大法宝。仅仅是24小时的买买买,背后却涉及无数风险控制手段和资源调度模型。

正如刘海锋所说,

双十一是电商企业整体技术能力的一个缩影,各个电商在保障的过程中都会有一些插曲,正是这些小问题,让中国的电商行业不断地成长。

SDCC,中国软件开发者大会。由全球最大中文 IT 社区 CSDN 于2007年创办,每年举办。主题是下一代软件开发技术趋势与对各行业的深刻影响,以谈干货实料著称。

小编原创文章,转载请注明来源出处

死扛零点前十秒流量,预测屌丝取消订单,为了保卫双十一京东有多拼?

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读