1. Sentinel是什么
Sentinel他是一款能监控服务流量及限流、降级、熔断、、系统自适应过载保护、热点流量防护等多个维度保护服务的稳定性。
2. Sentinel做什么
限流:即流量控制,根据流量、并发线程数、响应时间等指标进行统计分析、保证系统在流量突增情况下不至于被冲垮。一旦达到阈值则进行降级排队等操作处理。
熔断:当服务发生一定数量的失败时,开启熔断器,后续请求快速失败处理。一定时间后通过探测(当请求响应的时长小于熔断时长是回复)或通过设定的熔断时长定时恢复,从而决定是否重置熔断
降级:当访问激增的时候、服务出现异常或者非核心服务影响到核心流程时、暂时牺牲掉一部分业务,保障服务的稳定。
3. Sentinel搭建
3.1 Sentinel下载:
https://github.com/alibaba/Sentinel
3.2 选择版本
3.3 下载sentinel-dashboard.jar包
3.4 Sentinel部署
3.4.1 Windows启动
打开jar包所在位置,打开黑窗口执行java -jar sentinel-dashboard.jar (GitHub下载的jar包)访问地址如下:
账号:sentinel
密码:sentinel
3.4.2 Linux启动
jar包上传到linux服务器内,后台启动命令如下:
nohup java
-Dserver.port=8720
-Dcsp.sentinel.dashboard.server=127.0.0.1:8080 -Dproject.name=sentinel-dashboard -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=123456
-jar sentinel-dashboard.jar >/dev/null 2>&1 &
3.4.3 访问地址
账号:sentinel
密码:sentinel
4. Sentinel 整合
添加配置,引入jar包,重启项目即可完成。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <version>2.1.1.RELEASE</version> </dependency>
5. Sentinel应用
5.1 实时流量监控
实时监控通过的QPS和拒绝的QPS
5.2 簇点链路
通过簇点链路能设置流控、降级、热点和授权