springboot jar服务器运行后无法请求_Spring Boot微服务中Chaos Monkey的应用

本文介绍了如何在Spring Boot微服务中使用Chaos Monkey进行混沌工程测试,包括启用Chaos Monkey、配置示例系统架构、设置攻击类型、启用Actuator端点以及测试系统稳定性。Chaos Monkey通过引入故障来测试系统的弹性,文章还提到了性能测试工具Gatling的使用,以及在遇到延迟攻击时如何调整Feign和Ribbon的超时设置。
摘要由CSDN通过智能技术生成

3fd83036b82d680d678b980bcae97880.png

有多少人从未在生产环境中遇到系统崩溃或故障?当然,你们每个人迟早都会经历它。如果我们无法避免失败,那么解决方案似乎是将我们的系统维持在永久性故障状态。Chaos Monkey - 这个概念是Netflix发明的工具,用于测试其IT基础架构的弹性。几天前,我根据Netflix工具背后的想法找到了解决方案,该工具旨在测试Spring Boot应用程序。Codecentric已经实现了这样的库。到目前为止,我认为它们只是作为Spring Boot生态系统专用的其他有趣解决方案的作者 - Spring Boot Admin。我已经在之前的一篇文章中描述了这个库使用 Monitoring Microservices With Spring Boot Admin。 今天我将向您展示如何在Spring Boot应用程序中包含Codecentric的Chaos Monkey,然后在一些微服务示例系统中实现混沌工程。Chaos Monkey库可以与Spring Boot 2.0一起使用,它的当前发行版本是1.0.1。但是,我将使用2.0.0-SNAPSHOT版本实现示例,因为它具有此库的早期版本中不能用的一些新的有趣功能。为了能够下载Codecentric的Chaos Monkey库的SNAPSHOT版本,您必须记住包含Maven存储库https://oss.sonatype.org/content/repositories/snapshots到您的pom.xml存储库中。

1.为应用程序启用Chaos Monkey

为Spring Boot应用程序启用Chaos Monkey 有两个必需的步骤。首先,让我们将chaos-monkey-spring-boot库添加到项目的依赖项中。

   de.codecentric

   chaos-monkey-spring-boot

   2.0.0-SNAPSHOT

然后,我们应该在应用程序启动时激活chaos-monkey文件。

$ java -jar target/order-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

2.样本系统架构

我们的示例系统由三个微服务组成,每个微服务都在两个实例中启动,还有一个服务发现服务器。微服务将自己注册到发现服务器,并通过HTTP API相互通信。Chaos Monkey库包含在所有正在运行的微服务的每个实例中,但不包含在发现服务器中。下面是用于说明示例系统架构的图表。

7f59cb952648ea0755a84b454b35e04f.png

样本应用程序的源代码可以在GitHub的仓库 sample-spring-chaosmonkey中找到。克隆此存储库并使用mvn clean install命令构建它之后,您应该首先运行discovery-service。然后通过-Dserver.port使用适当的数字设置属性,在不同端口上运行每个微服务的两个实例。下面是我的一组运行命令。

$ java -jar target/discovery-service-1.0-SNAPSHOT.jar

$ java -jar target/order-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

$ java -jar -Dserver.port=9091 target/order-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

$ java -jar target/product-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

$ java -jar -Dserver.port=9092 target/product-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

$ java -jar target/customer-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

$ java -jar -Dserver.port=9093 target/customer-service-1.0-SNAPSHOT.jar --spring.profiles.active=chaos-monkey

3.流程配置

在版本2.0.0-SNAPSHOT的chaos-monkey-spring-boot库中,C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值