服务限流

6 篇文章 0 订阅
1 篇文章 0 订阅

高并发系统中有三把利器用来保护系统:缓存、降级和限流。限流的目的是为了保护系统不被大量的请求冲垮,通过限制请求的速度来保护系统。限流的方式有多种,可以在nginx层面限流,也可以在应用当中限流,比如在API网关中。
降级
在高并发系统中,当网络请求的并发量比较大,系统的负载高的时候可以采用服务降级的方式,关闭一些不常用的功能来提高系统负载分担能力。
举例:
可以通过API网关,加ZuulFilter的方式,对请求的服务ID进行匹配,如果当前获取的配置中对该服务ID进行了服务降级操作,则对当前的请求进行阻断,反之则继续转发下去。
限流
在高并发系统的,网络的负载请求是有度的,可以通过对请求的并发数据进行限制来达到限流的操作。限流可以在API网关上实现,也可以在具体的服务端进行限流。一般来说都是在具体的服务端进行限流,因为所有的请求都会走API网关,如果在API处分析所有的请求,则可能会因为API网关处的请求处理能力的限制导致整个系统中卡顿和带宽限制。服务的限流一般都只在特定时间内只允许一定数量的请求。
举例:
比如在一秒内只允许请求1000次,在服务的具体的接口方法上加限流的注解,系统初始化时对所有的controller包进行解析,将带有限流的注解存入到map中,同时加切面处理逻辑,当对所有到限流注解的方法,先从redis中取当前时间戳中请求的数量,如果没有则初始化当前时间戳的key,value为0;有则value加一,接着与配置的最大请求数据进行比较,没超过则继续处理请求,超过则阻断请求;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值