SpringCloud 中 Sentinel 的基本使用

  1. 依赖

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        <version>2.2.6.RELEASE</version>
    </dependency>
    
  2. 配置限流规则

    @PostConstruct
    private static void initFlowRules(){
        List<FlowRule> rules = new ArrayList<>();
        FlowRule rule = new FlowRule();
        //令牌
        rule.setResource("key");
        //限流方式
        rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
        // 设置QPS
        rule.setCount(1);
        rules.add(rule);
        FlowRuleManager.loadRules(rules);
    }
    
  3. Service

    @Service
    public class SentinelTestService {
    
        @SentinelResource(value = "key",blockHandler = "failMethod")
        public String getData(){
            return "获取到数据";
        }
    	
        public String failMethod(BlockException blockException){
            return "降级...";
        }
    }
    
  4. Controller

    @RestController
    public class SentinelTestController {
    
        @Autowired
        private SentinelTestService sentinelTestService;
    	
        @GetMapping(path = "/test")
        public String test(){
            String data = sentinelTestService.getData();
            System.out.println(data);
            return data;
        }
    	
    }
    
posted @   叕叕666  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示