当前位置: 首页 > 网站架构 > 正文

京东大促时的备战思路和方法

关键字:
1 星2 星3 星4 星5 星 (暂无评分)
Loading ... Loading ...
baidu_share
文章目录

京东已发展到了一个比较大的体量,无论是大促还是平时,技术都需要做到:积极预防、及时发现、快速处理。在即将到来的一年一度的京东618大型促销季,系统做到这十二字方针愈发不容易。618总指挥马松曾说过,这十二字方针的实现有两个要素不可或缺:日渐成熟稳定的团队、日趋完善的流程和规范。今天我们在京东618总指挥部,分享在这十二字方针下,具体都需要做些什么。

一、积极预防问题

可以遵循PDCA方法:

1. 分析系统职责,确立系统备战的首要目标;

2. 需求评估,然后做系统现状评估,找出系统瓶颈;

3. 针对系统瓶颈,进行系统改造;

4. 梳理系统间的依赖关系,各系统之间达成SLA,以保证整体性能指标;

5. 对系统进行压力测试,验证处理能力,确保达标;

6. 对系统进行全面体检;

7. 如果系统改造达不到评估要求,则需要修正方案。

二、系统性能评估

总体思路:首先要有业务量的初估,然后各个团队可以根据此值分解到所负责的系统的吞吐量指标。评估时需要高度重视峰值,可以用参照法评估; 如果是一个新系统,可以让上游系统协助评估。并不是所有系统都要承担高峰值,所以性能评估环节也包括流量规划

系统性能评估验证,一般有以下方法:

A.查看响应时间、吞吐量

B.线下压力测试,梳理所有开放的接口,在线下进行接口压力测试。测试用的数据可以根据业务逻辑进行编制,也可以利用TCP Copy等技术获取。

C.线上读接口压力测试

D.线上写接口压力测试。这种测试需要非常小心,不要产生垃圾数据,对业务造成影响。

E.减少线上服务器数量,让更少的服务器承担压力,从而增大单台服务器的负载。

三、提高系统处理能力

1.硬件升级;

2.使系统具备水平扩展能力,并进行扩容,甚至以集群为单位进行扩容。这一点最为关键;

3.多维度的系统拆分;

4.提高响应速度;

5.使用编程技巧,如串行变并行、单个处理变批量处理等

四、保持系统响应速度

1.Review系统并针对问题进行改造。对系统的每一层,甚至硬件都进行审查;

2.使用缓存。从客户端到服务端的全路径上,每个节点都可以设置缓存;

3.优化依赖。常用的优化方法有:同步改异步、依赖倒置;

4.方法职责单一化;

5.清理历史数据;

6.读写分离;

五、保持系统可用性

1.流量限制

2.分流

3.任务分级,当系统处理能力下降时,尽量保持高优先级任务的执行

4.数据分类,当某个服务不可用,那些不依赖这个服务的数据应该得到处理

5.降级

6.容错,系统多活,一个节点出现故障时,其它节点还可以工作

7.故障转移

8.完备的应急预案

六、总结

回顾电商系统应对大促时的备战思路和方法,包括有:

1. 积极预防,遵循PDCA模型,在系统建设之初就注重非功能设计,注重如何方便日常运营,并持续改进系统;

2. 提高发现问题的能力,能及早发现问题,甚至在问题发生前就介入处理;

3. 不断完善监控,增强趋势分析能力,是最关键的方法;

4. 提高问题决策和处理问题的速度,迅速控制住问题影响,并解决问题;

5. 不断积累应急预案,并进行演练,是最重要的、最实用的快速处理问题的手段。

如果面临大促,则有必要采取的措施有:

1. 用大促的业务量预估来对系统进行评估;

2. 采取更加严格的检查措施,考虑进行跨系统的线上军演;

3. 大促前夕对系统进行全面的健康体检;

4. 大促来临时,执行严格的现场值班制度;

5. 建立统一的指挥机制。

jd_promotion

本文固定链接: http://www.chepoo.com/ideas-and-methods-of-preparation-for-jds-big-promotion.html | IT技术精华网

京东大促时的备战思路和方法:等您坐沙发呢!

发表评论