接口熔断器resilience4j的使用

薄洪涛7个月前JAVA3728

pom引入

<!-- 熔断器 : https://mvnrepository.com/artifact/io.github.resilience4j/resilience4j-spring-boot3 -->
<dependency>
    <groupId>io.github.resilience4j</groupId>
    <artifactId>resilience4j-spring-boot3</artifactId>
    <version>2.2.0</version>
</dependency>

配置文件

resilience4j:
  # 熔断器配置
  circuitbreaker:
    instances:
      doctorService:  # 熔断器实例名称
        slidingWindowSize: 10  # 滑动窗口大小,表示用于计算失败率的请求数量
        minimumNumberOfCalls: 5  # 最小调用次数,必须达到此次数才能计算失败率
        failureRateThreshold: 50  # 失败率阈值,超过此比例将触发熔断(百分比)
        waitDurationInOpenState: 20000ms  # 熔断器打开状态持续时间,30秒后进入半开状态
        permittedNumberOfCallsInHalfOpenState: 3  # 半开状态下允许的请求数量

使用

@CircuitBreaker(name = "doctorService", fallbackMethod = "fallback")
public String queryDoctorByRestTemplate() {
   return queryDoctorRestClient.queryDoctor("queryDoctor");
}

public String fallback(Throwable ex) {
    log.error("查询医生失败, 触发熔断...");
    return "查询医生失败, 触发熔断...";
}


标签: resilience4j
返回列表

上一篇:docker-swarm部署java项目

没有最新的文章了...

相关文章

java相关日期函数

java相关日期函数

JDK7Data// 1.创建当前时间 Date d1 = new Date(); System.out.println(d1); // ...

ebean相关的查询

where// select * from user where name = "boht"List...

Ebean报错is not enhanced?

Ebean报错is not enhanced?

使用ebean的时候,会提示某个类没有enhanced,这里我们在idea中安装对应的plugin就可以了(需要看你的gradle的ebean版本)我的版本配置如下classpath("io...

spring中什么情况下事务会失效?

事务失效的场景?权限问题,@Transactional 修饰的方法必须为public方法用final修饰或者是static方法,spring事务底层使用了aop,也就是通过jdk动态代理或者cglib...

zookeeper安装

zookeeper安装

1. 下载安装包解压https://archive.apache.org/dist/zookeeper/2. 修改配置文件新建文件夹创建配置文件,修改路径配置文件参数详细介绍tickTime=2000...

spring循环依赖

spring循环依赖

什么是循环依赖? 很简单,就是A对象依赖了B对象,B对象依赖了A对象在Spring中,⼀个对象并不是简单new出来了,⽽是会经过⼀系列的Bean的⽣命周期,就是因为 Bean的⽣命周期所以才会出现循环...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。