Sentinel 信号量隔离,熔断降级策略基于慢调比例或异常比例;
~雪崩问题的预防和补救
~限流
流控模式: 直接,关联,链路
流控效果: 快速失败,预热模式,排队等待
全局参数限流和热点参数限流;
热点参数限流对默认的SpringMVC资源无效,需要利用@SentinelResource注解标记资源;
~线程隔离
~线程池隔离
每个服务调用业务分配一个线程池
~信号量隔离(Sentinel默认)
计数器记录业务使用的线程数量
两者对比:
开销,支持异步调用?场景(高/低扇出)
~熔断降级
断路器统计服务调用的异常比例,慢请求比例,超出阈值则熔断;服务恢复时放行;
断路器控制熔断和放行是通过状态机来完成的;
状态机的三个状态:
closed放行所有请求,超过阈值,open,服务调用被熔断,快速失败,熔断时长过后进入half-open,放行一次请求,请求成功closed,请求失败open;
熔断策略
慢调用: 指定时间内,请求次数达到指定的最小次数且慢调用(相应时长大于指定时长)比例大于设定阈值触发熔断;
异常比例,异常数: 指定时间内,调用次数超过指定值,且异常比例或异常数超过设定阈值则触发熔断;
full gc 引起的假死问题: 垃圾清理过程中会让所有线程停滞一段时间,在某些GC算法下,时间会相对比较长.看似宕机;
标签:调用,服务,请求,阈值,保护,熔断,线程,限流 来源: https://www.cnblogs.com/peachblossom/p/15981876.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。