Sentinel 是什么(发音:三特脑)
Sentinel 是面向分布式服务框架的流量控制组件,主要以流量为切入点,从限流、流量整形,熔断降级,系统负载保护,热点防护等多个维护保障微服务的稳定性
与 Hystrix 对比
相同
Sentinel 和 Hystrix 的原则是一致的,当检测到调用链路中某个资源出现不稳定的表现,如请相应超时,则对该资源进行限制,让请求快速失败,避免影响其他的资源而导致的级联故障
不同
在限制的手段上,Sentinel 与 Hystrix 采取了不同的方法
Hystrix 通过 线程池隔离的方式 ,来对依赖进行隔离,好处是资源与资源彻底的隔离,缺点是增加现场切换的成本
Sentinel 采取两种手段
1.通过并发线程数进行限制
2.通过响应时间对资源进行降级
参考:https://my.oschina.net/u/2534361/blog/4524373
Sentilel 使用
1.Sentinel 分为服务端与客户端,服务端是单纯的jar 文件,可以直接启动,可视化界面
服务端下载地址:https://github.com/alibaba/Sentinel/tags
启动服务端 java -jar sentinel-dashboard-1.8.1.jar
账户: sentinel/sentinel
2.客户端配置
<!--sentinel--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>
其他配置则忽略
application.yml 配置
spring:
application:
name: baobanserver
cloud:
sentinel:
transport:
dashboard: localhost:8080
#eager: true
server:
port: 8000
通过访问客户端的 api ,在服务端观察变化 。 服务端可以配置限流规则等
看云: https://www.kancloud.cn/mrbird/spring-cloud/1263704
spring boot 集成 sentinel https://blog.csdn.net/tianyaleixiaowu/article/details/89916891
sentinel 文档 https://www.oschina.net/p/sentinel?hmsr=aladdin1e1
Sentinel 服务端启动配置 https://www.cnblogs.com/zjting/p/11406472.html