ChaosBlade使用之数据库/HTTP/JVM/Process/脚本/Servlet/K8S/Docker故障实验

数据库故障实验(超时/抛异常)

说明

可以注入时延和throw exception两个故障

帮助

$ ./blade create druid -h

ChaosBlade使用之数据库/HTTP/JVM/Process/脚本/Servlet/K8S/Docker故障实验_第1张图片

HTTP故障实验(延时/抛异常)

说明

可以注入时延和throw exception两个故障

帮助

$ ./blade create http -h

ChaosBlade使用之数据库/HTTP/JVM/Process/脚本/Servlet/K8S/Docker故障实验_第2张图片

JVM故障实验

原理

主要是使用了字节码增强技术(ASM),即改变 class 内容,再重新通过 jvm-sandbox 提供的 SandboxClassLoader 加载到 JVM 使其生效,相比于 spring 的 AOP 切面,它更像是一次 JVM 动态切面。
关于 JVM 的一些增强,具体原理和设计思想可以查看:

  1. chaosblade-exec-jvm:https://github.com/chaosblade-io/chaosblade-exec-jvm
    【based on jvm-sandbox】
  2. jvm-sandbox:https://github.com/alibaba/jvm-sandbox

帮助

$./blade create jvm -h

ChaosBlade使用之数据库/HTTP/JVM/Process/脚本/Servlet/K8S/Docker故障实验_第3张图片

Process故障实验

场景一:杀进程

说明

此实验会强制杀掉进程。支持命令行或者命令中进程匹配。
此实验可以验证程序的自愈能力,或者服务进程不存在时,系统的容错能力。

场景二:暂停进程

说明

此实验会暂停进程。支持命令行或者命令中进程匹配。
此实验可以验证程序 Hang 时,系统的容错能力。

帮助

$ ./blade create process -h

ChaosBlade使用之数据库/HTTP/JVM/Process/脚本/Servlet/K8S/Docker故障实验_第4张图片

脚本故障实验

场景一:shell 脚本函数执行延迟

原理

备份原有脚本,根据函数名添加 sleep 命令

场景二:shell 脚本函数执行退出

原理

备份原有脚本,根据函数名添加 echo 和 exit 命令。回复时还原脚本。

Servlet故障实验

帮助

$ ./blade create servlet -h

ChaosBlade使用之数据库/HTTP/JVM/Process/脚本/Servlet/K8S/Docker故障实验_第5张图片

K8S故障实验

Docker故障实验

本站 https://blog.csdn.net/wuliao1335 所有文章均为原创,如需转载请咨询我。技术类一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,欢迎大家访问出处以查看本文的最新版本。

你可能感兴趣的:(混沌工程,大数据)