熔断是直接不处理或返回个默认值,降级比熔断更缓和一点
https://blog.csdn.net/zwq_david9527/article/details/77751032 三种nginx限流方式
实现原理:网关层在nginx中实现限流或给controller加切片
业务层给service加切片
熔断降级插件:Hystrix,谷歌RateLimiter
现在限流算法介绍:
counter计数器,漏铜及多漏铜,令牌通
计数器:一段时间内总访问数超过某个值直接拒绝请求(这样的判断肯定是程序能接收到请求的),简单粗暴
漏铜及多漏铜:漏桐:水流(请求)先进入到漏桶里,水桶没满的时候往里不断流,当水流入速度过大超出水桶容量会直接溢出(拒绝请求)。漏桶能强行限制传输速率,但不能解决某些场景中的突发事件。
令牌桶:Google开源工具包Guava提供了限流工具类RateLimiter,该类基于令牌桶算法来完成限流,非常易于使用。
降级按照是否自动化可分为:自动开关降级和人工开关降级。
降级按照功能可分为:读服务降级、写服务降级。
降级按照处于的系统层次可分为:多级降级。
根据服务范围:可以砍掉某个功能,也可以砍掉某些模块。总之服务降级需要根据不同的业务需求采用不同的降级策略。主要的目的就是服务虽然有损但是总比没有好。