SpringCloudAlibaba--流量监控--Sentinel的流控
- 流控规则简介:
-
- Sentrinel流控--QPS直接失败:
-
Sentinal流控--线程数直接失败
-
- Sentinel流控--关联
-
Sentinel流控--链路:
-
链路:只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就可以限流)[api级别的针对来源]
源码如下: 定义SentinelResource 为getOrder import java.util.Random; @Service public class OrderServiceImpl implements OrderService{ @Override @SentinelResource(value = "getOrder", blockHandler = "handleException") public String getOrder() { return String.valueOf(new Random().nextInt()); } public String handleException(BlockException ex) { System.out.println("县六中............"); return ex.getClass().getCanonicalName() + "\t服务不可用"; } } 定义两个请求接口,调用getOrder() @Resource private OrderService orderService; @GetMapping("/test1") public String test1() { return orderService.getOrder(); } @GetMapping("/test2") public String test2() { return orderService.getOrder(); } 实际效果,应该是对配置链路的test1进行限流控制,实现更加细致化的流控,但是实际并没有什么效果。
-
Sentinel流控--预热:(默认的流量是 阈值/3 ; 当有发规模的请求过来,我不会一下的将流量上升到最高,慢慢的有一个预热的时间,在这段时间内逐渐升高阈值,增加流量处理量)
-
Sentienl流控--排队等待: