什么是应用韧性增强服务--应用韧性增强服务-火山引擎

火山引擎混沌工程之云原生场景实现 - 文章 - 开发者社区 - 火山引擎

简介

应用韧性增强服务是一款遵循混沌工程实验原理并融合了火山引擎内部多年业务实践的产品,提供丰富故障场景,能够帮助分布式系统提升容错性和可恢复性,增强系统和应用的韧性,满足用户对系统和应用的高可用需求

image.png

image.png

image.png

流程

第一步:添加集群 第二步:创建实验场景 第三步:添加故障 第四步:运行实验场景 第五步:查看观测信息

故障类型

自有集群、VKE 集群中 Pod

故障类型--应用韧性增强服务-火山引擎

注意

仅兼容 GCC 8.3.0 和 GDB 8.2.1 C++ 版本的集群支持 C++ 故障

故障对象 故障类型 故障名称 说明
网络 网络故障 Delay 网络包延迟。
Reject 拒绝网络服务。
Loss 网络包丢失。
Duplicate 网络包重复。
Reorder 网络包乱序。
Corrupt 网络包错误。
DNS 故障 Drop DNS 访问超时。
容器 Pod 故障 Pod Kill 仅故障目标为 Kubernetes 中 Pod 时支持。终止指定的 Pod。
Container Hang 将指定进程挂起。
系统组件 系统故障 CPU 设置 CPU 使用百分比和内核数量,模拟 CPU 满载故障。
Memory 设置内存使用百分比,最高支持 100%,模拟 Memory 满载故障。
磁盘故障 IOPS 限制 设置磁盘某分区的 IO 次数限制,模拟多线任务受限的故障。
读写速度限制 设置磁盘某分区的读写速度限制,模拟读写慢的故障。
服务接口 服务接口故障 HTTP 仅故障目标为 Kubernetes 中 Pod 时支持。支持通过自定义 HTTP 请求设置故障。
服务代码 Java 故障 调用延迟 被调用的方法返回时间延长。
抛出自定义异常 在方法执行过程中抛出异常。填入异常名即可,例如 RuntimeExcepition。
内存溢出 JVM 堆(Heap)溢出或栈(Stack)溢出。
指定类返回值 自定义方法的返回值。目前支持 Int 或者 Strin,其中 String 类型参数值需要加双引号。
进程 CPU 使用率满载 使指定的 CPU 核数被 Java 进程满载。
Kill JVM 终止 Java 虚拟机进程。
垃圾回收 Java 虚拟机执行垃圾回收。
C++ 故障 修改变量 修改指定的变量值。目前支持 Int、Float、Double、Bool、Char、Char* 类型的变量。
修改返回值或提前返回 修改被调用的方法的返回值或使被调用的方法提前返回.目前支持 Int、Float、Double、Bool、Char、Char* 类型的返回值。
调用延迟 被调用的方法返回时间延长。

自有集群、VKE 集群中 Node

故障对象 故障类型 故障名称 说明
网络 网络故障 Delay 网络包延迟。
Reject 拒绝网络服务。
Loss 网络包丢失。
Duplicate 网络包重复。
Reorder 网络包乱序。
Corrupt 网络包错误。
DNS 故障 Drop DNS 访问超时。
系统组件 系统故障 CPU 设置 CPU 使用百分比和内核数量。
Memory 设置内存使用百分比,最高支持 100%。
磁盘故障 Storage Full 磁盘空间满载。
磁盘 IO 繁忙 磁盘的读写繁忙。
文件新增 新建文件。
文件重命名 更新文件的名称。
文档删除 删除文件。
文件权限修改 更新文件的权限。
文件元数据修改 更新文件的元数据。
文档内容追加 更新文件的内容。
主机异常 主机异常故障 重启 重新启动主机。
杀进程 终止主机中的进程。
宕机 关闭主机。
自定义指令 执行用户自定义指令。

自有主机和 ECS 主机

故障对象 故障类型 故障名称 说明
网络 网络故障 Delay 网络包延迟。
Reject 拒绝网络服务。
Loss 网络包丢失。
Duplicate 网络包重复。
Reorder 网络包乱序。
Corrupt 网络包错误。
DNS 故障 Drop DNS 访问超时。
系统组件 系统故障 CPU 支持设置 CPU 使用百分比和内核数量。
Memory 支持设置内存使用百分比,最高支持 100%。
磁盘故障 Storage Full 磁盘空间满载。
磁盘 IO 繁忙 磁盘的读写繁忙。
文件新增 新建文件。
文件重命名 更新文件的名称。
文档删除 删除文件。
文件权限修改 更新文件的权限。
文件元数据修改 更新文件的元数据。
文档内容追加 更新文件的内容。
主机异常 主机异常故障 重启 重新启动主机
杀进程 终止主机中的进程。
宕机 关闭主机。
自定义指令 执行用户自定义指令。