服务熔断一般是某个服务(下游服务)故障引起,而服务降级一般是从整体负荷考虑(接口超时降级、失败重试多次降)
1、熔断
2、服务降级
3、延迟处理
4、
1、漏桶算法
把请求比作是水,水来了都先放进桶里,并以恒定速度出水(处理请求),当水流量过大会导致桶溢出,即拒绝服务。请求的最大处理速度也就是水从漏桶流出的速度
漏桶算法可基于线程池来实现,线程池使用固定容量的阻塞队列+固定个数的处理线程来实现
2、Redis令牌桶
令牌桶算法的原理是系统以恒定的速率产生令牌,然后把令牌放到令牌桶中,令牌桶有一个容量,当令牌桶满了的时候,再向其中放令牌,那么多余的令牌会被丢弃;当想要处理一个请求的时候,需要从令牌桶中取出一个令牌,如果此时令牌桶中没有令牌,那么则拒绝该请求
其向桶中放入令牌的方法是启动一个线程,每隔Y单位时间增加一次令牌数量,或者在Timer中定时执行这一过程
3、滑动时间窗口算法
文章介绍了服务治理中的关键策略,包括服务熔断,主要是应对下游服务故障;服务降级,通常基于整体负荷考虑,如接口超时和失败重试。此外,讨论了两种流量控制算法:漏桶算法,通过固定速度处理请求,超出则拒绝服务,常基于线程池实现;Redis令牌桶算法,以恒定速率添加令牌,无令牌时拒绝请求。
2757

被折叠的 条评论
为什么被折叠?



