大促保障准备工作项

大促保障如何做,有哪些工作项,看这里。

工作项 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
应用容量评估,测算PV、UV、一天内调用次数、峰值调用量 所有                                  
数据容量评估,测算数据库、REDIS等存储容量,记录数、磁盘占用量 所有                              
线下PRE环境性能压测(详细工作计划)                              
             
           
                       
线上购物链压测            
DB TOP SQL慢查询巡检及优化         所有                  
DB数据库IO调度算法巡检(DeadLine配置)             所有                  
DB SQL超时设置         所有                      
REDIS分片巡检及优化(<32G)         所有                      
ESB 巡检(连接数8000限制、400W数据积压限制、TPS4000限制、高可用配置)         所有                      
RSF 版本巡检(2.1.2)         所有                  
故障场景重点关注项         所有                      
高可用(一主多从、冷备)、其他事项巡检         所有                  
RSF超时、限流、SLA、告警设置         所有                  
ESB超时、限流、SLA、告警设置         所有                  
容错设计检查               所有            
降级限流设计检查               所有            
全流程核心链路过载演练                      
系统监控、告警、人员设置检查             所有                  
宕机应急演练                                  
创单功能生产压测                                  
DB\REDIS主备切换演练                              
ZK故障演练                              
应急预案   所有                            
零点峰值应对   所有                            
扩容交付进度                                    
压测不达标程序优化计划                                    
MQ迁移                                
主备切换演练                          
网络参数、交换机高可用巡检         所有                        

双11大促准备工作清单
               
分类 工作项 交付物 计划开始时间 计划完成时间 负责人 完成结果 备注
容量和性能评估              
1 应用容量评估,测算PV、UV、一天内调用次数、峰值调用量 评估报告     各系统技术经理 完成  
2 数据容量评估,测算数据库、REDIS等存储容量,记录数、磁盘占用量 2016/10/13 2016/10/15 各系统技术经理 完成  
系统性能压测达标              
1 线下PRE环境性能压测(详细工作计划) 压测报告 2016/10/13 2016/10/30 各系统技术经理 进行中  
2 线上购物链压测 2016/10/20 2016/10/30 技术经理 完成  
3 创单功能生产压测 演练报告 2016/10/13 2016/10/25   完成  
4 全流程核心链路 演练报告 2016/10/17 2016/10/25 各系统技术经理 进行中  
巡检自检              
1 DB TOP SQL慢查询巡检及优化 巡检自检清单 2016/10/13 2016/10/25 各系统技术经理 完成  
2 DB数据库IO调度算法巡检(DeadLine配置) 2016/10/13 2016/10/25 各系统技术经理 完成  
3 DB SQL超时设置 2016/10/13 2016/10/25 各系统技术经理 完成  
4 REDIS分片巡检及优化(<32G) 2016/10/13 2016/10/25 各系统技术经理 完成  
5 ESB 巡检(连接数8000限制、400W数据积压限制、TPS4000限制、高可用配置) 2016/10/13 2016/10/25 各系统技术经理 完成  
6 RSF 版本巡检(2.1.2) 2016/10/13 2016/10/25 各系统技术经理 完成  
7 网络参数、交换机高可用巡检 2016/10/15 2016/10/17 各系统技术经理 完成  
8 故障场景重点关注项 2016/10/13 2016/10/25 各系统技术经理 完成  
9 高可用(一主多从、冷备)、其他事项巡检 2016/10/13 2016/10/25 各系统技术经理 完成  
核心链路与服务SLA              
1 RSF超时、限流、SLA、告警设置 服务治理与调用链路 2016/10/13 2016/10/25 各系统技术经理 完成  
2 ESB超时、限流、SLA、告警设置 2016/10/13 2016/10/25 各系统技术经理 完成  
3 容错设计 2016/10/13 2016/10/25 各系统技术经理 完成  
4 降级限流设计 2016/10/13 2016/10/25 各系统技术经理 完成  
系统监控与应急演练              
1 系统监控、告警、人员设置检查 系统监控与应急处置手册 2016/10/13 2016/10/25 各系统技术经理 完成  
2 宕机应急演练 演练报告 2016/10/13 2016/10/25   完成  
3 DB\REDIS主备切换演练 演练报告 2016/10/13 2016/10/25 各系统技术经理 完成  
4 ZK故障演练 演练报告 2016/10/13 2016/10/25 各系统技术经理 完成  
5 主备切换演练 应急预案 2016/10/13 2016/10/25   进行中  
6 应急预案 应急预案 2016/10/13 2016/10/15 各系统技术经理 完成  
7 零点峰值应对 应急预案 2016/10/13 2016/10/15 各系统技术经理 完成  
扩容或优化准备清单              
1 扩容交付进度 情况说明 2016/10/13 2016/10/25 各系统技术经理 完成  
2 压测不达标程序优化计划 计划安排 2016/10/13 2016/10/25 各系统技术经理 进行中  
3              



巡检清单
               
序号 分类 巡检内容 处理方案
事前处置 监控告警 应急处置
防控手段 监控点 影响范围 应急手段 恢复时长
一、系统应用程序   参数优化、安全巩固、扩容、高可用 CPU、IO、TPS、QPS、单据量、健康检测   降级、分流、限流  
1 系统参数配置 应用服务器配置:数据库连接池设置,连接数、事务隔离级别,连接超时等 检查 连接数监控 整个应用 前端限流 1分钟
2 系统参数配置 应用服务器配置:线程池设置,工作线程、IO线程数设置,超时等 检查 线程队列监控 整个应用 前端限流,增大队列长度 1分钟
3 系统参数配置 ESB配置:是否配置预警阀值、新老平台复用的接口URL配置是否一致 检查        
4 系统参数配置 UTS配置:检查PRE与PRD环境是否配置一致 检查        
5 系统参数配置 SCM配置:检查PRE与PRD环境是否配置一致 检查        
6 业务参数配置 业务配置数据:检查PRE与PRD环境是否配置一致 检查        
7 业务参数配置 功能菜单是否可关闭、降级功能开关是否可用 检查        
8 业务参数配置 业务运行过程中需要的必要主数据、元数据是否正确设置 检查        
9 定时任务配置 23:50-00:10之间禁止启动定时任务,23:50之前启动的定时任务需要在23:55前运行完成。 检查        
10 定时任务配置 所有定时任务,尽量避免在整点触发,选择一个随机的非整点时间来触发启动 检查        
11 RPC、REST接口异常 响应超时 优化程序,扩容 健康检查,接口监控 关联系统 业务降级,前端限流 2分钟
12 RPC、REST接口异常 无响应 优化程序,扩容 健康检查,接口监控 关联系统 业务降级,前端限流 2分钟
13 RPC、REST接口异常 QPS、TPS超出预估峰值 扩容、高可用 接口监控 关联系统 业务降级,前端限流 2分钟
14 RPC、REST接口异常 成功率异常下降    接口监控 关联系统 前端限流、负载均衡 2分钟
15 系统应用异常 不能正常运行 高可用 健康检查 关联系统 负载均衡 1秒
16 系统应用异常 进程异常、假死 高可用 健康检查 关联系统 负载均衡 1秒
17 系统应用异常 线程阻塞 高可用 健康检查、线程监控 关联系统 负载均衡 1秒
18 系统应用异常 无法启动 高可用 健康检查 关联系统 负载均衡 1秒
19 系统应用异常 响应缓慢或无响应  高可用 健康检查、超时检查 关联系统 前端限流、业务降级、负载均衡 1秒
20 交易异常 流量异常下降   健康检查、流量监控 关联系统    
21 交易异常 成功率异常下降    健康检查、接口监控 整个应用    
22 交易异常 大量繁忙,交易时间延长 高可用 健康检查、接口监控 整个应用 前端限流、业务降级、负载均衡 5秒
23 交易异常 交易异常报错 高可用 健康检查、接口监控 整个应用 负载均衡  
24 其他异常 应用服务队列堵塞 高可用 健康检查、接口监控 整个应用 前端限流、负载均衡 5秒
二、数据库   参数优化、安全巩固、扩容、高可用 CPU、IO、MEM、TPS、QPS、健康检测   限流、主备切换  
25 物理损坏 数据库崩溃 高可用 健康检查 关联系统 主备切换 5分钟
26 物理损坏 数据库存储损坏 高可用、热备 磁盘、IO监控 关联系统 主备切换 5分钟
27 物理损坏 逻辑日志满导致数据库挂起 高可用 磁盘、IO监控 关联系统 主备切换 5分钟
28 操作异常 数据库无法正常处理请求 高可用 健康检测 关联系统 前端限流、主备切换 5分钟
29 操作异常 数据库表死锁   死锁监控 整个应用 快速杀死进程 3分钟
30 操作异常 数据库表数据无法插入 存储容量检查 错误日志监控 整个应用 读写分离,主备切换 5分钟
31 操作异常 数据库交易处理缓慢 慢SQL检查 慢SQL监控 整个应用 前端限流  
32 操作异常 数据库无法连接或无响应、假死   健康检测 关联系统 主备切换 5分钟
33 操作异常 数据库性能极剧下降    连接数监控、IO监控 关联系统 前端限流 3分钟
34 操作异常 数据库实例出现大量等待事件   连接数监控、IO队列监控 关联系统 前端限流 3分钟
35 其他异常 数据库短时间不可用   健康检测 关联系统 前端限流、主备切换 3分钟
36 其他异常 主从同步延迟 检查 延迟监控   持续观察  
37 其他异常 数据库实例监听宕掉 检查 健康检查   主备切换 5分钟
三、中间件   参数优化、安全巩固、扩容、高可用 CPU、IO、MEM、TPS、QPS、健康检测   主备切换  
38 ESB中间件 实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 切换 5分钟
39 RSF中间件 实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 客户端负载均衡 1分钟
40 REDIS中间件 实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 自动重新选主 1分钟
41 REDIS中间件 主从同步延迟 参数检查,高可用 延迟监控 关联系统    
42 消息中间件 实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 切换 5分钟
43 消息中间件 消息堆积 参数检查,高可用 消息堆积长度(>2000,结合RTQPS) 关联系统 前端限流  
44 WAS中间件 实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 前端负载均衡  
45 负载均衡中间件 NGINX实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 主备切换 2分钟
46 负载均衡中间件 IHS实例异常或僵死 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 主备切换 2分钟
47 文件图片服务器 存储失败 参数检查,高可用 健康检查、内存(>80%)IOCPU(>80%) 关联系统 切换 5分钟
48 其他依赖中间件 WAF拦截失败 参数检查,高可用、TOP 50 IP梳理 健康检查、内存(>80%)IOCPU(>80%) 关联系统 切换  
四、操作系统 参数优化、安全巩固、升级 LOAD、IOWAIT   切换  
49 异常或报错 负载过高 检查 负载监控 整个应用 前端限流 1分钟
50 异常或报错 无响应 检查 健康检查 整个应用 前端容错 1分钟
51 异常或报错 文件数超出 检查 系统日志监控 整个应用 前端限流 1分钟
52 异常或报错 TIME_WAIT连接占用严重 检查 网络日志监控 整个应用 前端限流 1分钟
53 异常或报错 交换区频繁换入换出 检查 磁盘、IO监控 整个应用 前端限流 1分钟
五、硬件及网络 备份 存活检测   切换  
54 网络异常 网络异常中断   网络监控 整个应用 切换  
55 网络异常 AP与DB间网络异常或不可用   网络监控 整个应用 切换  
56 网络异常 网络端口流量异常升高/下降   网络监控 整个应用 切换  
57 网络异常 IP地址异常或出现冲突    网络监控 整个应用 切换  
58 网络异常 数据传输中出现异常丢包   网络监控 整个应用 切换  
59 硬件异常 F5服务异常或报错   网络监控 整个应用 切换  
60 硬件异常 异常掉电    主机监控 整个应用 切换  
61 硬件异常 磁盘存储损坏   磁盘、IO监控 整个应用 切换  



1.某些没有经过充分压测的接口 流量过大,拖死整个系统。 需要针对每个接口根据接口tps能力设置好流控值。
2.请求的数据穿透了缓存,如爬虫爬了冷数据等,拖死数据库。流控+监控应急封ip或封接口。
3.因为外部服务响应慢,导致线程池被卡满。需要做好超时设置,支持熔断。
4.物理机故障,如宕机或响应慢。需要做好高可用,紧密监控、及时切换。
5.某个redis或数据库分片出现故障,导致全局卡死。需要超时设置、对redis或数据库分片需要支持熔断能力。
6.依赖的外部服务故障,同时系统对外部非重要服务耦合过于紧,无法降级。
7.缓存没有及时生效 或 数据传输出现延时。系统需要评估需要处理的数据量 及时长,确保数据能及时处理完成。
8.资源争抢,特别是io资源争用。 各重要系统请检查 现有系统的io利用率和iops指标,如存在瓶颈,需要进行迁移或切ssd。
9.数据库坏页,核心链路系统需要做到一主两从,出现疑似数据库坏页,尽快切换。
10.ddos或cc攻击, 安全团队需要做应对攻击的应急预案,并加强演练,加快恢复速度。
11.网络故障、网络延时、基础服务故障。网络和基础服务 必须保证 高可用和良好性能。
12.定时任务 停止服务 或 调度延迟,未能及时监控出来。加强对每个定时任务的监控和报警。


服务要有容错设计,为失败设计,服务主要异常场景:
(1)服务内部出错、异常;
(2)服务处理延迟;
(3)服务处理过载;
(4)网络链路延迟或中断;
(5)服务依赖链中部分依赖SLA不达标,造成整体服务不可用;
(6)服务链条过长,造成SLA整体不可控;
解决的思路:隔离(物理或逻辑)、自我保护、失效转移或恢复、降级;
1、隔离手段:依据服务重要性分级或流量特点、用户画像等,从物理上隔离服 务。主要使用分流技术;将服务使用的资源(CPU、线程、IO等)隔离,主要使用舱壁模式;
2、自我保护手段:快速失败(failfast)、流控、超时、熔断;
3、失效转移或恢复手段:失效检测、重试、转移(failover)、回退恢复(failback);
4、降级手段:依据依赖服务的重要性或依赖程度(强、弱),同步变异步,降级开关、拒绝部分服务等;
 
降级方案、限流方案设计说明:
1. 每个系统需要分析调用量前10的服务(URL、ESB、RSF服务),并综合考虑其响应时间和耗时。原则上所有调用量大且降级后对销售或作业不造成较大影响的服务,都需要考虑。    
2. 降级、限流的目的是保护系统,减少本系统的压力、或降低对后端系统的压力、或降低对网络的压力。 
3. 限流方案不能造成正常销售或作业执行工作,降级后不能对销售造成较大的影响,对销售的较小影响是可以接受的。先限流,再降级。 
4. 需要有成熟可靠的降级、限流预案。
5. 降级手段有:功能禁用、增加功能的缓存时间、使用本地缓存而不是调用外部服务、减少某些业务特性以降低业务复杂度、不调用后端依赖服务、异常时采用默认数据或兜底数据,同步变异步调用,减少JOB执行频率或变更业务峰值JOB触发调用时间等;
6. 限流手段有:随机拒绝请求、拒绝低优先级系统调用,拒绝低级别用户调用,根据白名单或黑名单规则拒绝特定用户请求调用,对失败率高或响应超时系统调用拒绝调用,利用线程池队列排队处理调用,拒绝超出处理能力调用等。  
7. OLAP应用,如对OLTP系统的物理机器或网络资源造成了争用,同样需要设计降级方案。    
 
超时设置方法:
1、核心链路方法,通过压测获取响应时间TP99/TP90。作业线方法通过拉取RSF\ESB报表获取响应时间TP99/TP90.
2、要清楚响应时间的增加,不仅消耗资源(例如线程池、CPU、IO等),也会使TPS下降。严重时会耗尽连接,发生级联现象,使相关系统受到影响。TPS=C/RT.
3、响应时间的增加,会使失败率增加,异常会增加。如事务类接口在非幂等性设计情况下,造成重复生成数据。
4、原则上,作业线方法,可以通过查看TP99数据,设置2*TP99-5*T99。高并发核心链路接口,要不大于2*TP99.非核心作业方法,可以统一设置为3秒,原则上不应大于5秒。
5、响应时间在2-5倍TP99之间的选择,应结合是否事务方法、是否幂等,并发量,以及对业务的影响进行评估。并发量小的,事务方法,对业务影响大的,响应时间可设置大些;并发量大的,对业务影响小的,响应时间可设置小些。其他的,可以统一设置为3*TP99.
6、报表类、JOB类方法,根据事务执行时间进行单独设置。
 

RSF\ESB限流设置。两者都是基于限制并发数来限制调用次数,从而达到限流目的。
1、根据压测或历史得知,你的总并发数;
2、基于分组分类的原则,设置线程池,RSF线程池没有物理分开,是基于信号量区分不同的线程池;
3、根据业务,可以将接口划分为:核心对外服务接口,核心流程接口、关联核心流程接口,其他非核心流程;
4、根据接口分类,建立不同的分组,例如核心对外服务接口设置并发200,核心流程接口100,关联核心流程接口50,其他非核心流程40。
5、可以继续设置分层,如划分为三层,1级、2级、3级。针对不同分类接口设置三层。例如核心对外服务接口设置并发三级,1级300,2级200,3级150.其他类似。统筹分类分层。
6、在接口上挂上分组。


你可能感兴趣的:(架构设计,大促保障)