背景
在开发高并发系统的时候,有三种方法来保护我们的系统
- 缓存
缓存的目的是为了提升系统访问量,增大系统处理的容量 - 降级
降级是当服务出问题或者影响到核心流程的性能,暂时屏蔽掉服务,保证核心服务的正常 - 限流
限流是为了限制某些不能用缓存和降级来解决的场景,例如稀缺资源(秒杀、抢购)、写服务(评论、下单)、频繁的复杂查询(评论的最后几页),因此需要一种手段来限制这些场景的并发/请求量,即限流
限流的手段
- 应用级限流
- 分布式限流
- 接入层限流
限流算法
- 计数器
- 令牌桶算法
- 漏桶算法
在开发高并发系统的时候,有三种方法来保护我们的系统