一、sentinel介绍
Sentinel 是阿里巴巴开源的一款轻量级的流量控制和熔断降级组件,主要面向分布式服务架构,用于实现系统的稳定性和可靠性。以下是 Sentinel 的关键特性和功能的详细说明:
1. 流量控制
阈值控制:允许开发者设置资源的访问阈值,当请求量超过设定值时,对后续请求进行限流 处理,以保护系统免受过载影响。
流量整形:不仅可以简单地拒绝请求,还可以通过平滑突发请求、匀速排队等方式,对流量 进行更精细的控制,确保系统负载在一个稳定的水平。
2. 熔断降级
失败率熔断:根据资源的错误率动态开启或关闭熔断器,当错误率超过预设阈值时,暂时停 止向该资源发起请求,快速失败,避免资源耗尽。
慢调用熔断:当资源响应时间超过阈值时,触发熔断,减少慢请求对系统的影响。
自适应熔断策略:Sentinel 支持基于统计信息的自适应熔断策略,更加智能化地进行熔断决 策。
3.系统自适应保护
负载保护:当系统负载过高时,自动进行流量限制,防止雪崩效应。
热点参数保护:针对特定热点参数(如某个URL的特定参数值)进行流量控制,防止因某些 热点数据导致的服务不稳定。
4.实时监控与规则管理
控制台:Sentinel 提供了一个可视化控制台,可以实时监控资源的流量、并发、响应时间等 指标,以及配置和管理流控、降级规则。
动态规则:支持动态修改规则,无需重启应用即可生效,提高了系统的灵活性和可维护性。
5.与Spring Cloud、Dubbo等框架集成
Sentinel 提供了与多种微服务框架的无缝集成,如 Spring Cloud、Dubbo、gRPC 等,方便 开发者在这些框架中快速引入流量控制和熔断机制。
6.资源定义与链路追踪
Sentinel 允许开发者灵活定义资源,并提供了链路追踪功能,帮助开发者清晰地了解每个请 求的调用链路和资源耗时,便于问题定位和优化。
二、下载sentinel的jar包
地址:https://github.com/alibaba/Sentinel/releases
为外网,有时候可能会访问不了
网站实在打不开的话,使用文章顶部我上传的1.8.6版本
下载后放置到自己的软件文件夹下
三、启动sentinel
cmd 进入文件夹
执行启动命令 java -jar sentinel-dashboard-1.8.6.jar
结果如下:
报错,因为8080端口被其他服务占用,所以指定一个端口8718
修改命令如下 java -jar sentinel-dashboard-1.8.6.jar --server.port=8718
或者直接cmd不用进入对应目录,直接执行如下命令(一行),也可启动
java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8719 -jar D:\DevloperSofts\sentinel\sentinel-dashboard-1.8.6.jar
浏览器访问 http://localhost:8718/#/dashboard/home
默认账号密码:sentinel/sentinel