接口熔断器resilience4j的使用

薄洪涛5个月前JAVA3157

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项目

没有最新的文章了...

相关文章

zookeeper安装

zookeeper安装

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

centos安装java环境

centos安装java环境

很多工具(比如Lucene )都要依赖java环境,所以我在服务器上装了一个jdk,然后在这篇文章中记录下安装的步骤;当我们修改程序并通过SVN上传到服务器后环境:  &...

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

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

springboot 数据校验

使用import javax.validation.constraints.NotNull import javax.validation.constraints.Size cl...

RabbitMq交换机类型

RabbitMq交换机类型

direct路由键和队列名完全匹配,才可以消费如果绑定时设置了routing key为”abc”,那么客户端提交的消息,只有设置了key为”abc”的才会投递到队列fanout还有一种不需要key的,...

idea 部署Tomcat服务器

idea 部署Tomcat服务器

一、创建一个web项目1.file-new project,选择正确的jdk版本后(没配置的可以先自行google配置),next2.next3.输入项目名字和路径二,创建Module1.鼠标点中项目...

发表评论    

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