Sentinel 学习笔记

Sentinel 学习笔记

文章目录

  • Sentinel 学习笔记
    • 1. 简介
    • 2. 依赖
    • 3. 限流(FlowRule)
    • 4. 熔断降级(DegradeRule)
    • 5. 限流和熔断降级的区别
    • 6. 参考资料

1. 简介

Sentinel是阿里巴巴自研的限流熔断系统。

2. 依赖


    com.alibaba.csp
    sentinel-core
    版本号

3. 限流(FlowRule)

限流:指的是限制QPS或者线程数。指的是当调用QPS,或者线程数大于某个阈值,就抛出相关异常,或者返回false,然后了服务提供方进行相关的处理。
相关示例代码见参考资料1。

4. 熔断降级(DegradeRule)

熔断:指的是当请求处理不稳定,或者服务损坏等情况下,对服务进行降级处理。例如依赖的服务频繁超时,导致服务不稳定,耗时增加时,不调用相关服务。
限流处理和降级处理在形式上没有明显差异,也是以同样的形式定义一个临界区,区别是需要对抛出来的异常需要进行统计,这样才可以知道请求异常的频率,有了这个指标才会触发降级。
相关示例代码见参考资料1。

5. 限流和熔断降级的区别

触发条件不一样。
限流:调用QPS,或者自身线程数超标。
熔断:自身状态出现问题,例如依赖的服务大量超时。

通常限流和熔断作为两个不同的触发条件,最终的处理方式可能都是一样的。
以用户推荐场景为例,不管流量大量增加,还是依赖的服务出现问题,都可以采用放弃调用依赖的用户个性化推荐服务,直接返回统一的兜底数据。

6. 参考资料

  1. 阿里巴巴开源限流系统 Sentinel 全解析

你可能感兴趣的:(Java)