Day75 Sentinel源码分析
2022-08-01 本文已影响0人
小周爱吃瓜
-
熔断:
上游系统A调用下游系统B,超时的比例达到一定的次数。 -
降级
-
下游不可用了,然后本地fallback直接返回数据,虽然体验差了点。但是好歹有有响应.
-
压力激增的情况下,优先级低的服务将资源让给优先级高的服务,保证核心应用的正常运转.
分布式系统会遇到的问题。
上游调用下游 系统 b,c,d.
如果没有做线程池的隔离,会导致线程池的资源耗尽。
- 造成服务雪崩
- 比如谁的代码写了个死循环,直接把服务掉崩溃了也是有可能.
- 加入超时机制
Sentinel: 信号量隔离,Semphora
Hystrix: 信号量隔离,线程池隔离
基于QPS和线程数的流控规则限制
qps: 每秒访问接口的次数> 某个值
线程数: 线程数>x 就限流
慢调用比例,异常比例,异常数
可以基于Nacos做流控规则推送,也可以改造Sentinel和Nacos做流控规则双向的绑定推送.