sentinel-API 与 sentinel-dashboard 设置限流
sentinel-API: 定义资源, 出现异常后累加异常次数
sentinel-dashboard: 对上面定义的资源进行限流操作
- 1.sentinel-API
- // 控制器方法
- public String test(@RequestParam(required = false) String a){
- // 定义 sentinel 资源名
- String resourceName="test-service";
- // 模拟设置 [来源 - 微服务]
- ContextUtil.enter(resourceName,"member-center");
- Entry entry=null;
- try {
- entry= SphU.entry(resourceName);
- if (StringUtils.isBlank(a)){
- throw new IllegalArgumentException("参数 a 不能为空");
- }
- } catch (BlockException e) {
- e.printStackTrace();
- return "限流, 降级了";
- } catch (IllegalArgumentException e){
- // 增加 IllegalArgumentException 错误次数
- Tracer.trace(e);
- return e.getMessage();
- }finally {
- // 释放资源
- if (entry!=null){
- entry.exit();
- }
- ContextUtil.exit();
- }
- return "success";
- }
sentinel dashboard 操作:
浏览器访问一次对应 API
在 sentinel dashboard 设置对应资源的限制
来源: http://www.bubuko.com/infodetail-3297123.html