混沌测试平台背景与目标是什么?

混沌测试平台背景与目标是什么?

最佳答案 匿名用户编辑于2023/10/30 16:19

以下内容都是根据相关报告总结的,如果有兴趣了解更多相关的内容,请下载原报告阅读。

1.建设背景

随着数字化转型,金融行业加快了新一代架构转型的步伐,由传统的 SOA 架构向分布式架构、去中心化发展,当前还进阶到注重云化支持和异构化微服务支持的服务网格模式。系统规模日益庞大,交易链路长、数据流转复杂,微服务架构由于技术异构性、具备弹性伸缩、可扩展性等优势,得到广泛推广;同时微服务架构在使用过程中又面临诸多挑战,由于系统级依赖增多而带来的不确定性风险指数级增长;通过传统手段进行高可用验证、代码健壮性审查、加大测试范围、提高监控敏感度等手段,都无法有效发现系统潜在风险。在微服务架构下,系统的风险管理越来越重要,提高系统韧性成为必然发展趋势。

微服务架构转型的驱动下,“混沌工程”实践可以通过规范化,流程化的方案对系统进行一定程度的“随机破坏”,让故障在可控范围内频繁发生,在此过程中可以深入地认知故障和系统,并达到持续改进的效果。混沌工程是通过向系统中引入软件或硬件的异常状态(扰动),制造故障场景并根据系统在各种压力下的行为表现确定优化策略的一种系统稳定性保障手段。其原则是可量化的稳定状态、可反映真实场景,但风险未知的假设、影响最小化。混沌工程利用实验提前探知系统风险,通过架构优化和运维模式的改进来解决系统风险,真正提升系统架构韧性,增强故障免疫力。

混沌工程是在分布式系统上进行实验的学科,首次提出是在2008 年 8 月,由网飞公司(Netflix)提出。2012 年 Chaos Monkey在 Simain Army 项目中开源,Simian Army 成为首个开源的混沌工程工具集。2019 年开始,国内企业纷纷引入并实践混沌工程。混沌工程通过主动向系统中引入软件或者硬件的异常状态(扰动),制造故障场景并根据系统在各种压力下的行为表现确定优化策略。应用混沌工程可以对系统抵抗扰动并保持正常运作的能力进行校验和评估,还可以提前识别未知隐患并进行修复,进而保障系统更好地抵御生产环境中的失控条件。

目前国内混沌工程领域主要集中在一些大型互联网企业,应用领域和范围较小,商业化程度不高。金融行业建行、兴业、中原、浦发、招行等国有和商业银行均成立了内部的混沌工程团队,并开展混沌实验。例如,建信金科混沌工程故障演练平台应用于分布式平台相关组件,如应用路由、配置中心、分布式缓存、分布式消息、索引维护服务、分布式数据库等;在场景方面,建信金科在两地三中心多 AZ 故障、银行核心冲正交易异常时序、代收代付慢交易、应用路由服务治理、应用路由堵塞问题模拟等场景中。

2.建设目标

业务目标

为丰富微服务和分布式系统的故障测试手段,解决分布式系统故障高发且难以预测的问题,通过研发自动化水平高、通用性好、易用性强的混沌工程测试平台,帮助金融机构提升开展混沌实验的效率,降低开展混沌实验的成本,不断提升分布式系统的稳定性和容错能力。在现有研究基础上,重点突破全类型故障模拟、可视化操作、串并行故障编排、自动化监测告警等关键技术,在金融行业不同业务场景开展示范应用,进一步推动混沌工程方法普及,促进软件产业健康发展。混沌实验是指在混沌工程测试平台上面向复杂系统开展故障模拟、故障编排、故障注入、状态监测和故障恢复等一系列操作的集合。

技术目标

研究故障编排引擎、深入底层的故障注入、有效控制最小爆炸半径等关键技术,在混沌测试平台上提供混沌实验设计、实验编排、故障注入、状态检查、监控告警、实验报告等功能,实现高度自动化和可视化的操作,做到故障对应用无侵入,减少组件依赖,构建完整的混沌工程闭环生态。

参考报告

金融级混沌测试平台建设能力研究报告.pdf

金融级混沌测试平台建设能力研究报告。混沌工程是通过主动向系统中引入软件或者硬件的异常状态(扰动),制造故障场景并根据系统在各种压力下的行为表现确定优化策略的一种系统稳定性保障手段。应用混沌工程可以对系统抵抗扰动并保持正常运作的能力(稳定性)进行校验和评估,提前识别未知隐患并进行修复,进而保障系统更好地抵御生产环境中的失控条件,提升整体稳定性。本报告以混沌测试工具集为基础,采用开源云原生模式构建自动化混沌工程平台,针对分布式系统的复杂性特点,设计不同层次的故障进行模拟。平台除提供应用层以及实际物理环境故障模拟外,还提供较为完善的故障编排功能,以便监控分布式系统状态,找出项目潜在的风险。本报告所述...

查看详情
我来回答