内容简介:在编写了许多单元和集成测试后,代码覆盖范围从70%到80%,但是还是存在一种焦虑,我们的宝宝在生产中的表现如何?许多问题仍然没有答案:1. 我们的后备工作会起作用吗?
在编写了许多单元和集成测试后,代码覆盖范围从70%到80%,但是还是存在一种焦虑,我们的宝宝在生产中的表现如何?
许多问题仍然没有答案:
1. 我们的后备工作会起作用吗?
2. 应用程序如何处理网络延迟?
3. 如果我们的某项服务出现故障怎么办?
4. 服务发现是否有效,但我们的客户端负载平衡是否也有效?
如果你开始在你的公司实施混沌工程,那么你必须是一个非常社交和沟通的人。为什么,因为当你的混乱实验发生时,你会在很短的时间内亲自认识你的许多同事。
您的服务是否具有弹性并可以处理故障?如果没有,请不要开始混乱实验!
不要在生产环境启用混沌候!
Spring Boot Chaos Monkey是一个小型库(30kb),可以使用以下选项将Chaos Monkey集成到Spring Boot App中:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>chaos-monkey-spring-boot</artifactId>
<version>X.X.X</version>
</dependency>
对于Spring Boot 2.0.x:
<dependency> <groupId>de.codecentric</groupId> <artifactId>chaos-monkey-spring-boot</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency>
使用Spring Profile chaos-monkey启动应用程序以初始化Chaos Monkey,从版本1.5.0和2.0.0 开始,它默认不会对应用启动攻击,需要在运行时动态激活它。
java -jar your-app.jar --spring.profiles.active=chaos-monkey
也可以通过Spring Boot PropertiesLauncher注入外部JAR文件方式激活:
java -cp your-app.jar
-Dloader.path=chaos-monkey-spring-boot-X.X.X.jar
org.springframework.boot.loader.PropertiesLauncher
--spring.profiles.active=chaos-monkey
或者通过 loader.path系统设置与 Spring Boot PropertiesLauncher启动:
java \ -Xbootclasspath/a:aspectjrt-1.9.1.jar \ -cp your-app.jar \ -Dloader.path=chaos-monkey-spring-boot-X.X.X.jar \ -Dspring.profiles.active=chaos-monkey \ org.springframework.boot.loader.PropertiesLauncher
通过环境变量 LOADER_PATH和Spring Boot PropertiesLauncher激活:
LOADER_PATH=chaos-monkey-spring-boot-X.X.X.jar \ java \ -Xbootclasspath/a:aspectjrt-1.9.1.jar \ -Dspring.profiles.active=chaos-monkey \ -cp your-app.jar \ org.springframework.boot.loader.PropertiesLauncher
在所有情况下:
无论你如何嵌入Chaos Monkey,只要不将属性“ chaos.monkey.enabled ”设置为“ true ”,就什么都不会发生!
无需更改源代码就能激活!
运行时的动态配置
从版本1.5.0和2.0.0开始,可以通过Spring Boot Actuator Endpoint在运行时配置Chaos Monkey for Spring Boot。
工作原理
如果Spring Boot Chaos Monkey在类路径中并使用配置文件名称“chaos-monkey”激活,它将自动扫描应用程序以查找以下使用Spring注释的所有类:
@Controller @RestController @Service @Repository @Component
通过配置可以定义激活哪些攻击和监视器,默认情况下仅激活@Service观察器和延迟攻击。
Watcher是一个Chaos Monkey for Spring Boot组件,它将扫描应用程序以获取特定类型的注释,在Spring AOP的帮助下,Chaos Monkey会识别出一个公共方法的执行,提供以下攻击:
1. 延迟攻击
2. Exception 攻击
3. AppKiller攻击
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Data Mining
Bing Liu / Springer / 2011-6-26 / CAD 61.50
Web mining aims to discover useful information and knowledge from Web hyperlinks, page contents, and usage data. Although Web mining uses many conventional data mining techniques, it is not purely an ......一起来看看 《Web Data Mining》 这本书的介绍吧!