Sentinel使用Nacos持久化并动态更新配置

本文介绍了如何将Sentinel与Nacos结合,实现动态更新和持久化配置。首先讨论了Sentinel注解限流的配置与使用,然后转向Sentinel Dashboard控制台的限流规则设置。接着,文章阐述了Nacos作为Sentinel配置中心的优势,避免了配置丢失问题,并详细讲解了推模式下Nacos与Sentinel Dashboard的动态更新配置流程,包括源码修改、打包发布等步骤,最终实现生产环境的适用性。
摘要由CSDN通过智能技术生成

Sentinel注解限流

  • 引入pom
		<!--    sentinel流量控制AOP    -->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-annotation-aspectj</artifactId>
            <version>1.8.0</version>
        </dependency>
  • 全局配置
@Configuration
public class SentinelAutoConfiguration {
   
    @Bean
    public SentinelResourceAspect sentinelResourceAspect() {
   
        return new SentinelResourceAspect();
    }
}
  • 对某个接口加上@SentinelResource注解
	@SentinelResource(value = "hello", blockHandler = "exceptionHandler", fallback = "helloFallback")
    @GetMapping("/sentinel")
    public String sentinel() {
   
        int i = (int) (Math.random() * 10);
        if (i % 2 == 0) {
   
            throw new RuntimeException("偶数异常");
        }
        return "hello world!!!";
    }

    // Fallback 函数,函数签名与原函数一致或加一个 Throwable 类型的参数.
    public String helloFallback(Throwable throwable) {
   
        throwable.printStackTrace();
        return "helloFallback";
    }

    // Block 异常处理函数,参数最后多一个 BlockException,其余与原函数一致.
    public String exceptionHandler(BlockException ex) {
   
        ex.printStackTrace();
        return "exceptionHandler";
    }
}
<
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值