接口熔断器resilience4j的使用

薄洪涛7个月前JAVA3694

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...

docker-swarm部署java项目

技术栈Java 版本: 17Spring Boot 版本: 3.xMyBatis-Plus: 简化 MyBatis 操作的增强工具PostgreSQL: 关系型数据库Redis: 分布式缓存解决方案R...

Intellij IDEA实现热部署

Intellij IDEA实现热部署

每次修改代码都需要重新编译,然后重启Tomcat,比较麻烦,我们可以通过Jrebel实现项目的热部署,从而不需要重启Tomcat首先安装plugin如果在线安装时间比较长,可以选择自己下载包(点我自己...

idea 部署Tomcat服务器

idea 部署Tomcat服务器

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

基于dubbo改造现有http调用项目

使用zooker作为注册中心,将现有通过http调用的项目改造成dubbo调用公共项目规定接口public interface OrderService {  ...

RabbitMq交换机类型

RabbitMq交换机类型

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

发表评论    

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