Resilience4j插件
说明#
- resilience4j插件是网关用来对流量进行限流与熔断的可选选择之一。
- resilience4j为网关熔断限流提供能力。
插件设置#
请参考运维部署的内容,选择一种方式启动shenyu-admin。比如,通过 本地部署 启动Apache ShenYu后台管理系统。
- 在 基础配置 -->插件管理-->resilience4j,设置为开启。 如果用户不使用,可以将其关闭。

在网关中引入 resilience4j 插件#
- 在网关的 pom.xml文件中添加resilience4j的依赖。
        <!-- apache shenyu resilience4j plugin start-->        <dependency>            <groupId>org.apache.shenyu</groupId>            <artifactId>shenyu-spring-boot-starter-plugin-resilience4j</artifactId>            <version>${project.version}</version>        </dependency>        <!-- apache shenyu resilience4j plugin end-->Resilience4j 插件配置#
关于选择器和规则配置的更多说明,请参考:选择器和规则管理, 这里只对部分字段进行了介绍。
选择器配置#
用于对流量第一次筛选,不需要特殊处理字段。

规则配置#
用于对流量最终筛选,有规则处理逻辑。

- resilience4j处理详解:- limitForPeriod:每次刷新令牌的数量,默认值:- 50。
- limitRefreshPeriod:刷新令牌的时间间隔,单位- ms,默认值:- 500。
- timeoutDurationRate:等待获取令牌的超时时间,单位- ms,默认值:- 5000。
- circuitEnable:是否开启熔断,- 0:关闭,- 1:开启,默认值:- 0。
- failureRateThreshold:错误率百分比,达到这个阈值,熔断器才会开启,默认值:- 50。
- fallbackUri:降级处理的- uri。
- minimumNumberOfCalls:开启熔断的最小请求数,超过这个请求数才开启熔断统计,默认值:- 100。
- bufferSizeInHalfOpen:半开状态下的环形缓冲区大小,必须达到此数量才会计算失败率,默认值:- 10。
- slidingWindowSize:滑动窗口大小,默认值:- 100。
- slidingWindowType:滑动窗口类型,- 0:基于计数,- 1:基于时间,默认值:- 0。
- timeoutDuration:熔断超时时间,单位- ms,默认值:- 30000。
- waitIntervalInOpen:熔断器开启持续时间,单位- ms,默认值:- 60000。
- automaticTransitionFromOpenToHalfOpenEnabled:是否自动从- open状态转换为- half-open状态,- true:是,- false:否,默认值:- false。