分布式电商项目——15.秒杀接口实现高并发限流方案(网关限流)

秒杀接口实现高并发限流方案

Java高并发实现限流算法

常见限流算法常用的限流算法有:令牌桶,漏桶。

令牌桶算法

在秒杀活动中,用户的请求速率是不固定的,这里我们假定为10r/s,令牌按照5个每秒的速率放入令牌桶,桶中最多存放20个令牌。仔细想想,是不是总有那么一部分请求被丢弃。

漏桶算法

漏桶算法的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量

市面上常用实现限流框架

Nginx+Lua、Guava、hystrix等

基于谷歌RateLimiter实现限流

Google的Guava工具包中就提供了一个限流工具类——RateLimiter,本文也是通过使用该工具类来实现限流功能。RateLimiter是基于“令牌通算法”来实现限流的。
项目整合方式

<dependency>
<groupId>com.google.guava

猜你喜欢

转载自blog.csdn.net/qq_28461661/article/details/103599884