Sentinel方法限流

    技术2026-09-04  2

    引入依赖

    <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version>1.7.1</version> </dependency> <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-annotation-aspectj</artifactId> <version>1.7.1</version> </dependency>

    限流类中引入

    @PostConstruct //(构造器执行后执行) private void initFlowRules(){ List<FlowRule> rules = new ArrayList<>(); FlowRule rule = new FlowRule(); rule.setResource("HelloWorld"); rule.setGrade(RuleConstant.FLOW_GRADE_QPS); // 设置QPS为1(每秒最多访问1次) rule.setCount(1); rules.add(rule); FlowRuleManager.loadRules(rules); }

    3.方法限流

    @SentinelResource(value = "HelloWorld") public String helloWorld(String name) { return "Hello "+name; }

    4.调用

    String result=null; try (Entry entry = SphU.entry("HelloWorld")) { result =helloWorld("zhangsan"); } catch (BlockException exception) { exception.printStackTrace(); result="限流生效"; } return result;
    Processed: 0.009, SQL: 9