创建模块cloud-consumer-resilience4j-order80

POM引入依赖
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<!-- 引入服务调用依赖 OpenFigen -->
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-spring-cloud2</artifactId>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>

修改YML文件
instance-id: cloud-order-resilience4j-consumer80
# defaultZone: http://localhost:7001/eureka
defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/
name: cloud-order-consumer
编写服务提供者提供超时方法
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {
编写服务提供者Controller
@TimeLimiter(name = "delay",fallbackMethod = "timeoutfallback")
public CompletableFuture timeout() {
log.info("********* 进入方法 ******");
CompletableFuture completableFuture = CompletableFuture
.supplyAsync((Supplier) () -> (paymentFeignService.timeout()));
log.info("********* 离开方法 ******");
return completableFuture;
编写服务降级方法
public CompletableFuture timeoutfallback(Exception e){
return CompletableFuture.completedFuture(ResponseEntity.ok("超时啦"));
测试
