Skip to content

Latest commit

 

History

History
35 lines (22 loc) · 1.95 KB

File metadata and controls

35 lines (22 loc) · 1.95 KB

为什么选择Sentinel?

Sentinel是一个面向分布式架构的轻量级服务保护框架,主要以流量控制、熔断降级、系统负载保护等多个维度。

隔离策略:信号量隔离(并发线程数限流)

熔断策略:

  1. 基于响应时间
  2. 异常比率
  3. 异常数

限流:基于QPS限流

控制台:查看秒级监控、机器发现等。

服务限流

系统资源不够,不足以应对大量请求,对系统按照预设的规则进行流量限制或功能限制

服务熔断

调用目标服务的请求和调用大量超时或失败,服务调用方为避免造成长时间的阻塞造成影响其他服务,后续对该服务接口的调用不再经过进行请求,直接执行本地的默认方法

服务降级

为了保证核心业务在大量请求下能正常运行,根据实际业务情况及流量,对部分服务降低优先级,有策略的不处理或用简单的方式处理

为什么熔断降级

系统承载的访问量是有限的,如果不做流量控制,会导致系统资源占满,服务超时,从而所有用户无法使用,通过服务限流控制请求的量,服务降级省掉非核心业务对系统资源的占用,最大化利用系统资源,尽可能服务更多用户

和Hystrix对比

sentinel和hystrix-qb3wFi

值得补充的是:相比 Hystrix 基于线程池隔离进行限流,这种方案虽然隔离性比较好,但是代价就是线程数目太多,线程上下文切换的 overhead 比较大,特别是对低延时的调用有比较大的影响

Sentinel 并发线程数限流不负责创建和管理线程池,而是简单统计当前请求上下文的线程数目,如果超出阈值,新的请求会被立即拒绝,效果类似于信号量隔离

官网补充