高并发之API接口限流

原文链接: https://blog.csdn.net/zrg523/article/details/82185088

 

总结:

1.控制并发数量   Semaphore

2.控制访问速率

 算法:

  • 漏桶算法

  • 令牌桶算法

   实现

  • Google开源工具包Guava提供的限流工具类RateLimiter来实现控制速率

3.控制单位时间窗口内请求数

应用级限流的一些方法就介绍完了。假设将应用部署到多台机器,应用级限流方式只是单应用内的请求限流,不能进行全局限流。因此我们需要分布式限流和接入层限流来解决这个问题。

----------------------------------------------------------------------------

1.分布式限流

  • 自定义注解+拦截器+Redis实现限流 (单体和分布式均适用,全局限流)

2.接入层限流

  • 主要介绍nginx 限流,采用漏桶算法。限制原理:可一句话概括为:“根据客户端特征,限制其访问频率”,客户端特征主要指IP、UserAgent等。使用IP比UserAgent更可靠,因为IP无法造假,UserAgent可随意伪造。

 

转载于:https://www.cnblogs.com/UncleWang001/p/10592694.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值