SpringCloud: Sentinel
阿新 • • 發佈:2022-05-05
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(); }