SpringCloud: Sentinel

 java -jar --add-exports=java.base/sun.net.util=ALL-UNNAMED .\sentinel-dashboard-1.8.4.jar --server.port=9090

注解支持 · alibaba/Sentinel Wiki · GitHub

introduction (sentinelguard.io)

Warm up: 冷启动

 

 

 

 

 

 

排队等待

 

 

 

 

 

 

关联:

 

 

 

 

 

 

 

 

 

 

 

 

 

 热点规则:

 

 

 

 

@RequestMapping(value = "exception")
  @SentinelResource(value = "resourceName", blockHandler = "blockHandler", fallback = "fallback")
  public String ex(Integer id, HttpServletRequest httpServletRequest){
    if(id % 2 == 1)
      throw new RuntimeException(String.format("%s is odd", id));
    return httpServletRequest.getRequestDispatcher("").toString();
  }

  public String blockHandler(Integer id, HttpServletRequest httpServletRequest, BlockException blockException){
    if(blockException instanceof FlowException){
      return "FlowException";
    }
    if(blockException instanceof DegradeException){
      return "DegradeException";
    }
    if(blockException instanceof ParamFlowException){
      return "ParamFlowException";
    }
    if(blockException instanceof SystemBlockException){
      return "SystemBlockException";
    }
    if(blockException instanceof AuthorityException){
      return "AuthorityException";
    }
    return "BlockException";
  }

  public String fallback(Integer id, HttpServletRequest httpServletRequest, Throwable throwable){
    return throwable.getMessage();
  }

  

 

posted @ 2022-05-05 19:20  ascertain  阅读(26)  评论(0编辑  收藏  举报