1、Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。
它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。
2、使用的核心场景(秒杀)
3、sentinel核心部分:
1)核心库(Java 客户端):能够运行于所有 Java 运行时环境,同时对Dubbo /Spring Cloud 等框架也有较好的支持。
2)控制台(Dashboard):基于 Spring Boot 开发,打包后可以直接运行。
4、限流的目的防止恶意请求流量、恶意攻击,或者防止流量超过系统峰值。
5、Sentinel是如何对请求进行限流的?
主要是基于sentinel依赖提供的拦截器
6、限流常见的算法?
计数器、令牌桶、漏斗算法,滑动窗口算法
Sentinel 默认的限流算法:滑动窗口算法
7、Sentinel流控规则分析
阈值类型
QPS(Queries Per Second):当调用相关url对应的资源时,QPS达到单机阈值时,就会限流。
线程数:当调用相关url对应的资源时,线程数达到单机阈值时,就会限流。
8、设置限流模式
Sentinel的流控模式代表的流控方式,默认直接(快速失败)关联(高并发,有多个接口时,我们要设置接口的优先级) 链路
链路:链路模式只记录指定链路入口的流量也就是当多个服务对指定资源调用时,假如流量超出了指定阈值,则进行限流。
被调用的方法用@Sen