Sentinel 热点规则 授权规则
热点规则
热点规则可以根据传递的参数匹配屏蔽
在测试前我们先写一个接口 该接口可以传递两个参数
@GetMapping("/hot")
@SentinelResource("hot")
public String hot(
@RequestParam(value = "num1",required = false) Integer num1,
@RequestParam(value = "num2",required = false) Integer num2){
return num1 + "-" + num2;
}
注意我们要先访问一次该接口 才能在sentinel那看到

配置热点规则

此时如果我们带第一个参数多次访问就会被限制

如果是第二个参数就不会被限制

授权规则
编写一个RequestOriginParser类
@Component
public class RequestOriginParserDefinition implements RequestOriginParser {
@Override
public String parseOrigin(HttpServletRequest httpServletRequest) {
String name = httpServletRequest.getParameter("name");
if(StringUtils.isEmpty(name)){
throw new RuntimeException("name is null");
}
return name;
}
}
现在访问接口都必须加上name参数
我们可以通过白名单设置什么name才能访问


而黑名单也很好理解 只有对应的name不能访问

浙公网安备 33010602011771号