目录结构
1、引入pom依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
2、config
@Override
public void init()throws Exception{
List<FlowRule> flowRuleList = new ArrayList<>();
FlowRule rule = new FlowRule();
rule.setResource("apiHello");
rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
rule.setLimitApp("default");
rule.setCount(1);
flowRuleList.add(rule);
FlowRuleManager.loadRules(flowRuleList);
}
3、controller
@SentinelResource(value = "apiHello", blockHandler = "blockHandleHello")
@GetMapping(value = "/hello/{name}")
public String apiHello(@PathVariable String name) {
return "Hello " + name;
}
public String blockHandleHello(@PathVariable String name,BlockException exception){
return "限流了";
}
4、src/main/resources/META-INF/services/com.alibaba.csp.sentinel.init.InitFunc
com.example.sentinel.config.FlowRuleInitFunc