Sentinel整合OpenFeign资源保护

基本使用
  1. 引入依赖
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    </dependency>
    
  2. 添加配置
    # 1. sentinel保护feign开关
    feign.sentinel.enabled=true
    # 2. sentinel dashboard 配置
    spring.cloud.sentinel.transport.dashboard=localhost:8858
    spring.cloud.sentinel.transport.port=8729
    # 3. 基础配置
    spring.application.name=hello-sentinel-feign
    spring.cloud.nacos.discovery.server-addr=localhost:8848
    spring.cloud.loadbalancer.nacos.enabled=true
    
  3. 编写feign接口并配置fallback属性
    @FeignClient(value = "nacos-client-app"
            , contextId = "nacosHelloClient"
            , fallback = NacosHelloClientFallback.class
    )
    public interface NacosHelloClient {
    
        @GetMapping("/hello/index")
        String hello() ;
    
        @GetMapping("/hello/exception")
        String exception() ;
    }
    
  4. 编写fallback实现代码
    @Component
    public class NacosHelloClientFallback implements NacosHelloClient {
    
        @Override
        public String hello() {
            return "fallback hello ret value";
        }
        @Override
        public String exception() {
            return "fallback exception ret value";
        }
    }
    
配置降级规则
  1. 添加配置
    # 配置降级规则
    spring.cloud.sentinel.datasource.ds1.file.dataType=json
    spring.cloud.sentinel.datasource.ds1.file.file=classpath:sentinel/feign-degrade-sentinel.json
    spring.cloud.sentinel.datasource.ds1.file.rule-type=degrade
    
  2. 编写sentinel/feign-degrade-sentinel.json降级规则 (慢调用降级规则)
    [{
        "resource": "GET:http://nacos-client-app/hello/index",
        "grade": 0,
        "count": 200,
        "timeWindow": 11,
        "minRequestAmount": 6,
        "statIntervalMs": 10000,
        "slowRatio":0.3
    }]
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值