混沌工程:苏宁系统稳定性之道
图 3:平台功能架构 混沌系统的功能架构分三层,自下而上包括: 能力层,提供各种故障注入指令库,包括网络,存储,虚机,应用等。 功能层,主要是平台的各种功能,其中最主要是指令管理,以及任务管理。指令管理是维护相关指令信息和脚本。任务管理是维护相关的任务信息,包括单系统以及全链路,任务是各动作的有序集合。 编排层,主要针对系统运维人员,通过一系列的配置,编排动作,单系统任务,全链路任务,指定执行的依赖关系和顺序,使整个执行过程有序可控。 故障注入流程 图 4:故障注入流程 故障注入流程如下: 任务编排,混沌工程平台编排注入指令任务,并从平台数据系统获取目标虚机数据。 下发故障注入指令,启动故障注入任务后,下发相关指令到目标虚机。混沌平台需要和各网络区打通。 具有以下特点:安全管控,对身份和指令进行验证,确保任务执行安全;分布式部署,承担并发压力,整机房系统所涉及到的虚机数有 10万+ 台,需要并发执行,以减少故障注入时间,降低业务影响。 故障注入执行,每台虚机上部署 Agent,收到指令后负责具体的注入操作。 告警检测,虚机注入故障后,监控系统会探测到告警信息。 流量切换,根据告警机器,告警类型,告警级别触发流量的切换,当前阶段是否需要进行流量切换,还需要人工决策。 故障恢复流程 故障注入后,需要进行恢复操作,其流程与注入类似。即下发恢复指令到 Agent,清除之前的故障指令。需要注意的是, Agent 的通讯端口作为白名单处理,否则注入后会导致混沌工程系统集群无法连接到虚机。 自愈功能 故障注入后,为防止某种原因导致网络不通,恢复指令无法下达到虚机,导致业务无法恢复,所以需要有自愈功能,在一段时间(自定义)没有收到新的指令,那么 Agent 将自动执行其对应的恢复指令。 总结 混沌工程平台上线以来,模拟各类异常场景,进行生产上各层次的流量切换演练,发现了多个关键性问题,为最终的整机房宕机演练成功以及机房稳定性夯实了基础。 混沌工程作为一门领域学科,包含的内容非常丰富。由于项目的紧迫性以及资源的限制,苏宁的混沌工程现阶段还是围绕整机房宕机演练这个目标而开展的。 在此基础上,后续我们将逐步拓展,包括故障注入的场景覆盖,自动化运行,流量切换和应急联动等,整体提升苏宁云的灾备能力。 (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 计算机无法用U盘重新安装网络win7系统
- win 10系统一不小心删了microsoft visual怎么办
- 怎样用360免费升级win10
- Amanda,Bacula,BackupPC哪个有可靠的Windows客户端?
- hyper-v-server-2012-r2 – Windows 10更新后无法连接Hyper
- 让XP和Vista系统上拥有Windows 7的新性能
- Win7关闭窗口的快捷键是什么Win7常用快捷键详细介绍
- 微软Windows10 Build 19044.1566 KB5010415 正式版上线
- Windows上需要什么权限才能在Vagrant上安装Bower?
- 微软Win11运营安卓 App已准备好 可与微软 Teams 聊天