【稳定性】浅谈11.11大促之预案演练 | 京东物流技术团队

京东云开发者
• 阅读 314

一、预案演练

预案演练主要解决的问题是:根据单个系统的应急预案,模拟应用系统的一种或多种故障场景,验证系统的可靠性。

1.1、预案演练形式

预案演练根据应急预案组织相关的应急组织机构和人员,针对事先假设的异常应急场景,通过模拟实际决策、指挥和技术操作,完成应急响应及处置的过程,从而检验和提高相关人员的决策指挥、组织协调和应急处置能力。

1.2、预案演练原则

预案演练要遵循两个主要原则:

(1)确保业务能提供连续性服务

(2)演练范围和风险影响可控

1.3、预案演练目的

检验预案。通过演练进一步理顺应急处置流程,同时检验应急处置方案的完整性、有效性。

锻炼队伍。通过演练增强演练组织部门、参与人员等对预案的熟悉程度,提高应急处置人员的应急响应效率和应急处置能力。

磨合机制。通过演练进一步检验部门间的应急联动效率,完善相关部门间的工作联动机制。

1.4、预案演练实践

明确演练场景。明确要演练的故障场景及影响范围。

明确风险和应对措施。提前评估预判各场景演练过程中可能存在的风险,并针对各种风险给出应对措施。将风险和措施告知所有干系人。

明确演练人员。演练人员包括组织人员和参演人员,组织人员负责演练前的策划、文档准备、演练人员与演练环境的落实、演练实施过程中的综合协调及演练结束后的评估总结等工作,以保障应急演练能够顺利实施。 参演人员负责具体演练操作实施。

明确演练技术方案和业务验证方案。演练前检查与业务验证:包含系统检查:检查数据库、负载均衡、应用集群等状态是否正常;应用检查:检查服务是否可用、交易量、交易成功率等指标是否正常;网络检查:检查负载均衡、集群、数据库间网络环境是否正常;业务验证:根据案例进行演练前的业务验证。

切换阶段。明确演练切换的各操作步骤,建议通过工具实现作业编排,自动化执行切换操作。

切换后检查与业务验证。切换后进行技术和业务验证,检查数据库集群、负载均衡、应用集群、网络环境等状态是否正常,并根据案例进行业务验证。

回切前检查。同演练前检查操作,检查系统、应用、网络等状态是否正常。

回切阶段。通过工具编排操作指令,进行自动化切换。

回切后检查与验证。回切后进行技术和业务验证,检查数据库集群、负载均衡、应用集群、网络环境等状态是否正常,并根据案例进行业务验证。

1.5、演练实施流程

演练实施流程即演练切换前后每一步操作指令,一般建议三要素形式明确,主要包含:时间,操作,内容。如演练前的操作0:00关闭负载均衡,阻止交易进入。

二、预案梳理思路

预案梳理可以从三点入手:从问题开始,从目标切入,从风险着手。

每个人思考下:如何第一时间快速止血,如何缩短MTTR平均修复时长

【稳定性】浅谈11.11大促之预案演练 | 京东物流技术团队

下面会介绍我们做的一些预案的例子。

2.1、计划预案

以大促双 11 来讲,我们会做全链路压测,还有限流、降级等操作,以及会梳理618上线后的需求,日常定时任务&DAP结转任务的错峰执行。因为有一些业务是非实时的,比如我们每天会有报表、数据统计、数据结转等业务,在业务的低峰期通过定时 Job 执行,这时会遇到一个问题,比如当双 11 零点,流量峰值最高的时候,如果有一个定时 Job 做扫表或做大量查询,遇到其他的业务高峰就可能会造成交叉影响,所以我们需要做定时任务的错峰执行预案,以及数据DAP结转任务错峰执行。

2.2、突发预案

比如线上突然某部分服务直接宕机或不可用了,第一优先级还是要业务止血,此时会通过JSF下线操作,让流量切换到其他的服务器上。附案例

2.2.1、应急场景:机器故障JSF下线

启动条件:ump告警可用率异常,或者MDC机器异常报警,或者运维通知机房故障

应急方案:jsf下线。

处理步骤

方案一:通过行云操作机器IP的JSF下线

1、通过UMP或者MDC告警定位到具体IP,选中IP,点击[行云]直达行云部署。

2、选择对应报警的实例,操作jsf下线操作。

3、故障修复后(先启动再上线)

方案二:定位到具体IP,也可以通过JSF平台操作下线

2.3、业务预案

在大促11.11的20点流量峰值时,我们会提前降级关闭某些服务【因为降级都会有损,需提前跟相关业务同事沟通认可】,比如根据用户的收货详细地址(没有经纬度的地址)获取GIS围栏信息用于计算Promise时效,由于该接口耗时较长,大促高峰期会通过DUCC开关关闭降级到四级地址时效。

针对大促某业务专项预案如下:

三、灾难演练

灾难演练与预案演练的区别首先体现在参与演练的应用范围上,灾难演练是针对整个地区的整个机房发生故障,该机房所有部署的系统全部切换到异地机房的演练(比如汇天机房断网演练),预案演练是针对单个系统的某个或某几个故障场景做的应急预案进行演练。其次是在组织形式上和影响范围上的差别,灾难演练波及的系统范围多,参与人员广,预案演练波及的系统范围少,参与人员少。

灾难演练主要解决的问题是:验证当数据中心整个园区发生灾难,如地震等引起大面积停电,导致整个机房系统不可用的情况下,应用系统如何平稳切换到异地机房启用灾备系统,继续对外提供服务的能力。

四、混沌实验

混沌实验有相对固定的模式,通常包括实验设计与准备、实施执行和实验结果分析等过程。混沌实验一般通过混沌工程平台实现各类混沌实验的统一管理和执行。

实验设计和准备阶段。主要包括故障场景、稳态指标、靶点管理和实验编排等内容。

实验执行阶段。主要包括故障注入、故障观测、实验防护和故障恢复等步骤。

实验结果分析阶段。主要包括实验报告、问题分析与跟进以及统计度量等。

五、风险巡检

风险巡检验证方案即可配合上述演练验证方案同步进行,也可独立实施。它是一种白盒化的可扩展风险管理和巡检能力。自动化能力,实现分布式系统稳定性日常巡检。

定时巡检。实现按指定时间周期,指定子域范围的自动进行风险巡检。触发式巡检。实现按照特定数据指标阈值自动触发风险巡检。

案例:比如Promise定时任务巡检,通过自动化巡检工具及UMP报警信息,实现按照特定数据指标阈值自动触发风险巡检。

本文所述仍有待进一步研究和探讨,希望能为相关领域的研究者提供一些启示。文章中难免会有不足之处,希望读者能给予宝贵的意见和建议。谢谢!


参考:信通院稳定性建设

作者:京东物流 冯志文

来源:京东云开发者社区 自猿其说 Tech 转载请注明来源

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
2020应急响应实战指南
攻防攻防,有攻就有防,我们常说“未知攻焉知防”,所以一般来说,在安服团队里,应急响应是由有经验的渗透测试人员来承担;而在企业里面,应急响应则是由比较有经验的运维人员来承担。早在17年的时候,我将自己经手处理过的一些应急响应案例,脱敏保留特定场景,整理成了一份应急响应实战笔记分享给团队的小伙伴,后来我把它上传到GitHub,目前star已超过2k。
vr虚拟消防应急演练有什么好处?华锐互动
vr虚拟技术应用广泛,在各行业中发挥着巨大的应用价值。通过3D数字模拟技术还原事故现场,利用vr虚拟技术让体验者参与进虚拟场景中,辅以震动特效,烟雾特效,声音特效等,使体验者产生身临其境的现场感受,同时将消防安全常识融入到这个环境中。这套系统采用引导式教育体验方式,通过演示模式、课程模式、自由模式等学习相关知识,让体验者在参与体验中学习知识与技能。体验者通过
vr应急模拟触电事故场景_广州vr电力安全培训_广州华锐互动
触电事故是施工现场可能会遇到的安全隐患事故。遇到触电事故该如何急救是大到电企,小到每一位工人所必须重视的问题。广州华锐互动VR模拟触电事故急救演练系统在基于VR仿真技术,互联网技术基础上模拟施工作业时所突发的触电事故、触电发生后如何应急救援场景,让施工人员在虚拟环境中切身体验触电事故的各类场景,从而快速掌握如何急救处理能力。在虚拟环境中,VR会模拟各种触电场
广州华锐互动电力事故安全仿真培训_事故安全技能VR实训_vr虚拟电力事故演练
利用虚拟仿真技术进行电力事故演练早已屡见不鲜,不少电力企业都引进了这一新型技术。那么虚拟仿真电力设备事故应急演练有什么价值呢?1、通过设置电力事故环境场景的多种变化类型,并通过在虚拟演练过程中,培训员工进行对不同事故演练场景进行随机应变。2、在模拟推演的过程中,完成各类应急指挥角色的任务,员工可以在虚拟环境中对事故情况进行查询,以及拟定应急实施策略和制定应急
广州华锐互动矿山应急宣教虚拟现实培训系统介绍
在矿山安全管理体系中,矿山应急救援属于重要部分,但由于矿山灾害难以1:1复刻模拟,矿山应急救援人员往往都经验不足,在真正应急救援工作开展的时候,不仅无法及时、高效完整应急救援工作,而且还可能造成自身伤亡。有了广州华锐互动矿山应急宣教虚拟现实培训系
混沌演练状态下,如何降低应用的MTTR(平均恢复时间) | 京东云技术团队
如何在混沌演练的场景中降低应用的MTTR,必须需要根据监控定位,然后人工进行反馈进行处理吗?是否可以自动化,是否有方案可以降低混沌演练过程中的影响?以此达到快速止血,进一步提高系统的稳定性。本篇文章将根据一些思考和实践来解答以上问题。
【稳定性】秘密武器--功能开关技术 | 京东物流技术团队
一、背景继上篇【稳定性:关于缩短MTTR的探索】后,看到一些线上问题应急预案采用的是回滚方案,但是在大部分牵扯代码场景下,开关技术才是线上问题快速止血的最佳方式。比如履约平台组的Promise作为下单黄金链路,如遇线上问题的话,采用通用的回滚方式需要510
京东云开发者 京东云开发者
4个月前
万字长文浅谈系统稳定性建设
1.背景京东的期中考试:618即将到来,各个团队都在进行期中考试前的模拟考试:军演压测,故障演练,系统的梳理以检测系统的稳定性以应对高可用,高性能,高并发。我们知道系统的稳定性建设是贯穿整个研发流程:需求阶段,研发阶段,测试阶段,上线阶段,运维阶段;整个流