Sentinel管理台使用
下载地址: https://github.com/alibaba/Sentinel/releases
- 启动方式
更改启动端口号
java -jar -Dserver.port=8858 sentinel-dashboard-1.8.5.jar &
- 登录界面
账号密码都是sentinel
3. 业务集成spring cloud alibaba sentinel
添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
- 启动业务,并进行一次调用后,查看管理台
Sentinel 管理台使用
-
实时监控
当前资源及请求情况 -
流控规则设置-QPS流控
-
流控生效
-
线程流控
针对线程数进行流控
@GetMapping(value = "order")
public String doOrder() throws InterruptedException {
TimeUnit.SECONDS.sleep(10);
return "下单成功";
}
- 设置线程数流控
- 触发流控
关联流控
关联资源达到阈值,触发资源名的流控,即/order/add每秒超过2次,/order/get会被流控
链路流控
如图, 可以只针对/order/test1来做流控
修改配置项web-context-unify为false
流控效果
- 快速失败
流控后,请求直接失败 - warm up – 针对激增流量
即预热,冷启动方式,当系统长期处于低水位时,当流量突然增加,直接拉到高水位可能瞬间把系统压垮,通过冷启动,可以让流量缓慢增加,在一定时间内达到上线,避免系统被压垮
- 排队等待 – 针对脉冲流量
熔断策略
-
慢调用比例
最大请求时间时1000ms,超过该时间的请求达到10%,会触发熔断,接口进入降级状态 -
异常比例
通过比例计算
-
异常数
统计异常数量