问题标签 [spring-boot-chaos-monkey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 可以为 Spring Boot 应用程序测试的 Chaos Monkey 场景
我正在使用以代码为中心的 Chaos Monkey 实现来测试托管在非缩放环境中的 Spring Boot 应用程序(即它不是托管在云上)。以下是我正在测试的场景。如果我可以测试更多场景,请提出建议
- 延迟攻击
- 异常突袭
- 杀死应用程序攻击
- 记忆突击
java - chaos-monkey 和 spring hystrix 不兼容?
我想用 Chaos Monkey 攻击我的微服务,我想用 hystrix 来处理故障。当我单独使用 Chaos Monkey 时,我的应用程序会受到攻击,但是当我使用 hystrix 时,Chaos Monkey 不会进行任何攻击。
为什么我不能同时使用?是版本问题吗?
spring - Spring Boot 混沌猴
我正在尝试将 Chaos Monkey 与 Spring Boot 一起使用,但出现以下错误。有没有人将它与 spring cloud 和 Hystrix 一起使用来测试后备?无法启动服务器。
我正在使用以下版本:
java - Spring Boot Chaos Monkey 不使用 feign
我正在用 feign、hystrix 和ribbon 测试spring boot chaos monkey。它不工作。呼叫没有按预期失败。
混沌配置:
spring-boot - Hystrix 在调用 fallback 后不会终止线程
我正在使用 Chaos Monkey Spring Boot 测试一个假装客户端的缓慢响应。回退被调用并返回响应,但方法执行继续。
第 1 行失败并调用了回退,但我仍然在日志中看到“将数据保存在缓存中”。此行为使应用程序不一致。有什么解决方法吗?
日志:
vert.x - Vertx 应用程序的混沌测试
用于对部署在 Openshift 上的 Vertx 应用程序进行混沌测试的任何工具的指针。Chaos Monkey 或任何其他工具会起作用吗?
spring-boot - 不同的执行器(管理服务器)端口更改 HTTP 响应
我在 Chaos Monkey For Spring Boot 中遇到了用户发布无效信息时的错误响应(例如{"level": -2}
通过 REST 更新到我们的执行器端点,在该端点可以更新 CMSB 行为的选项(只允许正级别)。在第一张图片,我将management.server.port
to8888
和应用程序端口设置为8080
. 向 CMSB REST API 发布新属性时,我收到以下响应(这不是我们所期望的):
如果我将管理端口留在与应用程序相同的端口,我会收到以下响应:
对于这两种情况,我们都希望得到相同的错误响应(第二种)。所以我们(在 CMSB)问我们这是否是 Spring Boot 的预期行为,如果不是,如果管理端口与应用程序端口不同,我们有什么选择可以绕过编写我们自己的错误响应处理程序。请注意,这不是关于 Chaos Monkey 对 Spring Boot 的预期行为,而是关于这是否是 Spring Boot 错误。在这两种情况下,我们都希望有详细的错误响应,以便用户知道出了什么问题。在幕后,我们将@Validated
注释与类似的东西结合使用来验证输入:
附带说明:在这两种情况下,日志中的错误消息都是正确的。但仅在第二种情况下,此错误消息
WARN 4477 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public org.springframework.http.ResponseEntity<?> de.codecentric.spring.boot.chaos.monkey.endpoints.ChaosMonkeyRestEndpoint.updateAssaultProperties(de.codecentric.spring.boot.chaos.monkey.endpoints.AssaultPropertiesUpdate): [Field error in object 'assaultPropertiesUpdate' on field 'level': rejected value [-2]; codes [Min.assaultPropertiesUpdate.level,Min.level,Min.java.lang.Integer,Min]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [assaultPropertiesUpdate.level,level]; arguments []; default message [level],1]; default message [must be greater than or equal to 1]] ]
用作响应负载。
最小示例项目:https ://github.com/fletchgqc/mediator
使用mvn spring-boot:run
. 然后对http://localhost:8080/actuator/chaosmonkey/assaults
有效负载进行 POST: {"level": -2}
。应显示正确的错误响应(如图 2 所示)。
然后停止项目,到https://github.com/fletchgqc/mediator/blob/master/src/main/resources/application.properties添加management.server.port=8888
并再次启动应用程序。http://localhost:8888/actuator/chaosmonkey/assaults
使用与以前相同的有效负载执行 POST 。应该会出现错误的错误消息(如图 1 所示)。
spring-boot - Springboot chaos-monkey 攻击 [killApplicationActive 和 memoryActive] 不起作用
我正在使用 Springboot 2.3.1.RELEASE 和 Chaos Monkey,它对 LatencyActive 和 exceptionsActive 工作正常。
在两次攻击后不起作用
杀死应用程序
记忆
spring-boot-chaos-monkey - 无法将“chaos.monkey.assaults”下的属性绑定到 de.codecentric.spring.boot.chaos.monkey.configuration.AssaultProperties
添加 choas Money 应用程序后开始抛出“nAPPLICATION FAILED TO START”错误。
弹簧机器人版本:
春云:
乔斯猴:
错误日志:
spring-boot-chaos-monkey - spring-boot-chaos-monkey - 在同一应用程序的多个实例上更改 assualts/watcher 配置
Spring-boot-chaos-monkey 非常适合在我的本地机器上运行的应用程序,或者如果应用程序的实例不超过一个。现在,假设我的应用程序有 2 个实例并托管在负载均衡器后面的 aws 上,我想更改 assualts 或 watcher 配置。我怎样才能做到这一点?
因为如果我通过点击其余端点来更改配置,那么调用将重定向到一个实例,而其他实例的状态将是旧的。我可以想到一个解决方案,我可以将其存储在数据库中,并且两个应用程序实例都可以从数据库同步并更新配置。但是有更好的方法或默认配置吗?