流控配置
2023/6/13
流控配置
流控添加与测试
添加流控
在Sentinel控制台中,对请求添加流控配置
添加流控的方式有两种
- 方式一:直接添加流控规则

- 方式二:找到特定请求后添加流控规则

注意
此时,流控配置信息是保存在内存中的,重启服务时便会失效。
后续需要配置Sentinel的数据源信息
访问测试
再次通过浏览器访问该请求,查看结果
当正常访问时,服务器正常返回响应结果

当超过了流控规则后,会自动被Sentinel拦截,并返回Blocked by Sentinel (flow limiting)错误信息

自定义流控返回信息
编写自定义Sentinel配置类,在配置类构造方法中配置自定义响应
@Configuration
public class SentinelConfig {
public SentinelConfig() {
WebCallbackManager.setUrlBlockHandler(new UrlBlockHandler() {
@Override
public void blocked(HttpServletRequest request, HttpServletResponse response, BlockException e) throws IOException {
R r = R.error(BizCodeEnum.TO_MANY_REQUEST);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json");
response.getWriter().write(JSON.toJSONString(r));
}
});
}
}浏览器访问测试

