阿里巴巴混沌测试工具ChaosBlade

2023-11-23 11:10

本文主要是介绍阿里巴巴混沌测试工具ChaosBlade,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ChaosBlade 是什么?

ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,特点是操作简洁、无侵入、扩展性强。(git地址:https://github.com/chaosblade-io/chaosblade)

ChaosBlade 基于 Apache License v2.0 开源协议,目前有 chaosblade 和 chaosblade-exe-jvm 两个仓库。

chaosblade 包含 CLI 和使用 Golang 实现的基础资源、容器相关的混沌实验实施执行模块。chaosblade-exe-jvm 是对运行在 JVM 上的应用实施混沌实验的执行器。

ChaosBlade 社区后续还会添加 C++、Node.js 等其他语言的混沌实验执行器。

为什么要开源?

很多公司已经开始关注并探索混沌工程,渐渐成为测试系统高可用,构建对系统信息不可缺少的工具。但混沌工程领域目前还处于一个快速演进的阶段,最佳实践和工具框架没有统一标准。实施混沌工程可能会带来一些潜在的业务风险,经验和工具的缺失也将进一步阻止 DevOps 人员实施混沌工程。

混沌工程领域目前也有很多优秀的开源工具,分别覆盖某个领域,但这些工具的使用方式千差万别,其中有些工具上手难度大,学习成本高,混沌实验能力单一,使很多人对混沌工程领域望而却步。

阿里巴巴集团在混沌工程领域已经实践多年,将混沌实验工具 ChaosBlade 开源目的,我们希望:

  • 让更多人了解并加入到混沌工程领域;
  • 缩短构建混沌工程的路径;
  • 同时依靠社区的力量,完善更多的混沌实验场景,共同推进混沌工程领域的发展。

ChaosBlade 能解决哪些问题?

衡量微服务的容错能力

通过模拟调用延迟、服务不可用、机器资源满载等,查看发生故障的节点或实例是否被自动隔离、下线,流量调度是否正确,预案是否有效,同时观察系统整体的 QPS 或 RT 是否受影响。在此基础上可以缓慢增加故障节点范围,验证上游服务限流降级、熔断等是否有效。最终故障节点增加到请求服务超时,估算系统容错红线,衡量系统容错能力。

验证容器编排配置是否合理

通过模拟杀服务 Pod、杀节点、增大 Pod 资源负载,观察系统服务可用性,验证副本配置、资源限制配置以及 Pod 下部署的容器是否合理。

测试 PaaS 层是否健壮

通过模拟上层资源负载,验证调度系统的有效性;模拟依赖的分布式存储不可用,验证系统的容错能力;模拟调度节点不可用,测试调度任务是否自动迁移到可用节点;模拟主备节点故障,测试主备切换是否正常。

验证监控告警的时效性

通过对系统注入故障,验证监控指标是否准确,监控维度是否完善,告警阈值是否合理,告警是否快速,告警接收人是否正确,通知渠道是否可用等,提升监控告警的准确和时效性。

定位与解决问题的应急能力

通过故障突袭,随机对系统注入故障,考察相关人员对问题的应急能力,以及问题上报、处理流程是否合理,达到以战养战,锻炼人定位与解决问题的能力。

功能和特点

场景丰富度高

ChaosBlade 支持的混沌实验场景不仅覆盖基础资源,如 CPU 满载、磁盘 IO 高、网络延迟等,还包括运行在 JVM 上的应用实验场景,如 Dubbo 调用超时和调用异常、指定方法延迟或抛异常以及返回特定值等,同时涉及容器相关的实验,如杀容器、杀 Pod。后续会持续的增加实验场景。

使用简洁,易于理解

ChaosBlade 通过 CLI 方式执行,具有友好的命令提示功能,可以简单快速的上手使用。命令的书写遵循阿里巴巴集团内多年故障测试和演练实践抽象出的故障注入模型,层次清晰,易于阅读和理解,降低了混沌工程实施的门槛。

场景扩展方便

所有的 ChaosBlade 实验执行器同样遵循上述提到的故障注入模型,使实验场景模型统一,便于开发和维护。模型本身通俗易懂,学习成本低,可以依据模型方便快捷的扩展更多的混沌实验场景。

ChaosBlade 的演进史

EOS(2012-2015):故障演练平台的早期版本,故障注入能力通过字节码增强方式实现,模拟常见的 RPC 故障,解决微服务的强弱依赖治理问题。

MonkeyKing(2016-2018):故障演练平台的升级版本,丰富了故障场景(如:资源、容器层场景),开始在生产环境进行一些规模化的演练。

AHAS(2018.9-至今):阿里云应用高可用服务,内置演练平台的全部功能,支持可编排演练、演练插件扩展等能力,并整合了架构感知和限流降级的功能。

ChaosBlade(2019.3):是 MonkeyKing 平台底层故障注入的实现工具,通过对演练平台底层的故障注入能力进行抽象,定义了一套故障模型。配合用户友好的 CLI 工具进行开源,帮助云原生用户进行混沌工程测试。

资料

1、阿里巴巴混沌测试工具ChaosBlade两万字解读

2、ChaosBlade实践

3、解析阿里开源混沌工程工具ChaosBlade是什么?

这篇关于阿里巴巴混沌测试工具ChaosBlade的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/417503

相关文章

性能测试工具 wrk,ab,locust,Jmeter 压测结果比较

前言 在开发服务端软件时,经常需要进行性能测试,一般我采用手写性能测试代码的方式进行测试,那有什么现成的好的性能测试工具吗? 性能测试工具 wrk,ab,locust,Jmeter 压测结果比较 详见: 性能测试工具 wrk,ab,locust,Jmeter 压测结果比较 Jmeter性能测试 入门

javaweb-day01-2(Junit测试工具用法)

JUnit 注释是给人看的,注解是给程序和编译器看的。 写好一个没有main函数的实体Person类,并且不想在main函数中来测试这个类中的方法: 我们一般使用JUnit测试: 建一个Junit.test包在这个包下建一个Junit test case,命名为PersonTest.java在Junit的测试用例PersonTest.java类中,建 testRun()、t

HBase抗战总结 | 阿里巴巴HBase高可用8年抗战回忆录

前言 2011年毕玄和竹庄两位大神将HBase引入阿里技术体系,2014年接力棒转到东8区第一位HBase commiter天梧手中,多年来与淘宝、旺旺、菜鸟、支付宝、高德、大文娱、阿里妈妈等几乎全BU合作伙伴携手共进,支撑了双十一大屏、支付宝账单、支付宝风控、物流详情等核心业务。2018年双十一,HBase全天处理请求2.4万亿行,单集群吞吐达到千万级别。从一个婴儿成长为青年,阿里HBase

Wycheproof:一款针对加密代码库的安全强度测试工具

关于Wycheproof Wycheproof是一款功能强大的加密代码库安全强度检测工具,广大研究人员可以使用Wycheproof来测试加密库的安全健壮度。 工具背景 在密码学中,微小的错误往往会带来灾难性的后果。我们发现,许多加密库频繁陷入这些实施陷阱,且问题常常持续很长时间。然而,获得可靠的实施指南非常困难,因为安全地实现密码学需要深入理解几十年的学术研究。我们意识到,软件

Java编码规范(参考阿里巴巴开发手册)

对阿里巴巴java开发手册中所有的强制内容进行了整理 一、编程规约 1、命名风格 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外: DO / BO / DTO / VO / AO 方法名、参数名、成员变量、局部变量都统一

阿里巴巴API在电商中的新应用:商品详情实时获取与解析

阿里巴巴API在电商中的新应用主要体现在商品详情实时获取与解析上,这对于提升电商平台的数据处理能力、用户体验以及运营效率具有重要意义。以下将详细介绍这一应用,并包含具体的代码示例。 一、阿里巴巴商品详情API概述 阿里巴巴商品详情API是阿里巴巴开放平台提供的一种接口,通过调用该接口,开发者可以实时获取到商品的详细信息,包括但不限于商品名称、价格、图片、描述、库存等。这些数据对于电商平台来说至

教你如何面试进入阿里巴巴!

http://toutiao.com/a6315591537167597825/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article&utm_source=mobile_qq&iid=5056005857&utm_medium=toutiao_ios

阿里巴巴中国站获得1688商品详情 API数据说明

阿里巴巴中国站的 1688 商品详情 API 能够提供丰富的商品信息,以下是一些主要字段的说明 1: product_id:用于唯一标识一个商品的 ID。title:商品标题,是对商品的名称或主要特性的简短描述。price:商品的当前售价。original_price:商品的原始价格,即未打折前的价格。discount:该商品当前的折扣信息。description:详细描述商品的特点、功能等。c

2015年1月19日 对阿里巴巴点赞VS拍砖

肖峰说: 1.建立了一个信用体系 2.当认为交易不安全的时候建立了支付宝(担保体系) 3.当认为创业非常危险的时候他提供了一个创业的榜样 马光远说: 1.中国有没有假货跟有没有阿里巴巴没有关系 2.对中国经济的拉动史无前例 3.买东西更便宜了 李银认为 1.阿里巴巴的信用污点至今无法让人放心 2.假货问题 3.安全问题 阿里巴

阿里巴巴数学竞赛成绩未公布:背后的权衡与期待

文 | 头部财经首席评论员白立新 发布 | 头部财经 top168.com 导语:2024 年阿里巴巴数学竞赛成绩迟未公布,引发广泛猜测。中专生姜萍的表现备受瞩目,达摩院陷入两难困境。这场竞赛结果的公布,关乎多方利益与社会影响,究竟何时能有定论? 在当今数字化、科技驱动的时代,数学作为基础学科的重要性愈发凸显。阿里巴巴举办的数学竞赛,本应是一场智慧与才华激烈碰撞的盛宴,然而今年的竞