跳到主要内容

sentinel

sentinel 主要是用来解决服务雪崩问题的。

什么是服务雪崩?

当一个链路上的某个服务不可能会导致依赖它的服务不可用,造成一系列的连锁反应导致整个系统瘫痪。

如何解决服务雪崩?

  1. 超时处理。
  2. 限制某个业务能使用的线程数(目的是使本服务不能被不可用的服务拖垮)。
  3. 熔断降级,统计异常请求的比例,根据规则(根据压测结果来设置)进行熔断, 执行降级逻辑。
  4. 流量控制(限流、整形),限制 QPS。

sentinel 是有哪些操作可以解决服务雪崩问题?

  1. 流控
    1. 快速失败
    2. warm up (预热)
    3. 排队等待
  2. 熔断
  3. 热点
  4. 授权

sentinel 的预热模型就是逐渐增大熔断的阈值。

sentinel 原理

Sentinel 在外部请求要访问被保护的资源时,会经过一些列的 slot,slot 通过相互配合,执行一系列的检查。这是一个典型的职责链设计模式

sentinel 的简单操作

观看 B 站视频:https://www.bilibili.com/video/BV1ou411a75C/?p=2&vd_source=cfe7e7ecd8e068e203e64e9db32b14d2