混沌工程之 SpringBoot 集成 ChaosMonkey
Posted zuozewei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混沌工程之 SpringBoot 集成 ChaosMonkey相关的知识,希望对你有一定的参考价值。
一、前言
这几天在用一些混沌工程的工具,所以整理一下,以备参考。
后面有空再整理其他的工具,一个个都写一写。反正闲着也是闲着。
我没有按正规格式写专栏的习惯。所以就随意一点。
二、前提条件
有一个 SpringBoot 的应用。
三、具体操作
- 添加依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>chaos-monkey-spring-boot</artifactId>
<version>2.3.1</version>
</dependency>
- 配置
application.yml
chaos:
monkey:
# 启动monkey
enabled: true
assaults:
# 确定多少请求被攻击,1为攻击所有请求;5:每5个请求攻击一次
level: 5
# 增加最小延时,毫秒
latency-range-start: 5000
# 增加最大延时,毫秒
latency-range-end: 10000
# 延时攻击启动
latency-active: true
# 异常攻击启动
exceptions-active: true
# kill应用启动
kill-application-active: true
watcher: # 控制范围
controller: false
rest-controller: false
service: true
repository: false # (JDBC和JPA)
component: false
- 添加启动参数
- 运行项目
- 访问接口
看,出现了 8 秒响应时间的情况。
正常访问是:
由于前面加 了5-10 秒的随机延迟,所以上面出现了 8 秒的接口。
还有这种随机的 500 异常。
对应的日志如下:
四、总结
ChaosMonkey还能和 Spinnaker 集成,那是更为广泛的用法。 以后再写。
以上是关于混沌工程之 SpringBoot 集成 ChaosMonkey的主要内容,如果未能解决你的问题,请参考以下文章
Chaos Mesh + SkyWalking,打造可观测的混沌工程