有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

背景

为保证您的业务能够具备持续提供服务,CVM 产品提供跨可用区部署的功能,使得在某些特殊场景下导致的地域或者可用区故障时可保护您的应用程序不受影响。
若您对自己的服务或者云产品不具备信心,担心在生产环境会受到机房故障产生的影响导致业务无法正常提供访问,可以采用混沌演练平台进行故障模拟预演,及时规避隐患。

实验目标

目标1

验证跨可用区的服务架构在某一可用区实例宕机的情况下是否可以正常提供服务。

目标2

验证服务恢复时间和恢复效果是否满足业务需求。
?
?

演练实施

步骤1:前期准备

准备若干与生产环境贴近的同地域下的不同可用区测试用 CVM 实例,提供相同的服务。
准备好完整的日志记录工具。
对意外情况的应急措施。
统计日常业务的访问量,编写脚本模拟用户请求。
实例一稳态信息
?
?
?
实例二稳态信息
?
?
?

步骤2:实验设计

1. 登录混沌演练控制台,进入演练管理页面,单击新建演练,填写演练信息。
?
?
?
2. 选择已准备好的测试实例对象,对处于同一可用区的实例通过配置实例关机动作,以实现实例宕机故障模拟。 故障动作添加后会自动添加“开机”的恢复动作,此处实验额外增加 shell 脚本自定义动作“模拟开机自启”,用于启动实例原有服务,方便观察实例恢复情况。
?
?
?
3. 可配置云监控指标或护栏策略,观察 CVM 实例的运行状态。
?
?
?

步骤3:演练实施

1. 进入演练详情,单击右上角执行
2. 开始执行故障注入,实例二关机,监控负载均衡流量转发数据。
3. 完成故障注入实验后,执行故障恢复单击恢复动作“开机”右上角的执行,恢复实例状态,平台将自动执行并进行恢复性验证。
注意
此时服务若无配置开机自启,需手动触发恢复服务的 shell 脚本。
4. 所有演练动作执行完成后即完成演练,可单击右上角记录演练结论进行实验备案,记录本次演练所遇到的问题,可用于您后续的复盘。

演练结果分析

使用平台工具进行指标监控

下图为故障实例,于实施时间注入故障实现宕机,负载均衡监听探测到该实例不可访问。
?
?
流量转发到下图另一可用区的 CVM 实例,导致在该时间点流量骤增。 当故障实例修复后,即完成开机并重启服务后,负载均衡监听到实例端口健康,恢复稳态。
?
?
?
目标达成情况:
当某一可用区宕机时,负载均衡自动将流量转发到另一可用区,整体表现为可用。
当可用区恢复且服务重启后,可恢复故障注入前的稳态指标,正常接收处理请求。
结合两点结论,CVM 跨可用区故障实验整体表现符合预期。

理论分析方向

定性分析:比较注入故障时系统的指标和稳态指标的差异。
定量分析
系统性能指标 = 实验中性能指标 / 稳态时性能指标
系统恢复率 = 实验完成执行恢复动作后性能指标 / 稳态时性能指标
系统缺陷原因分析
对系统弱点进行分析
对故障应对过程中的不足进行分析
对系统的扰动承受能力分析
对监控告警的有效性进行分析
对模块间的依赖关系进行分析


http://www.vxiaotou.com