面试常问题:谈谈在项目中,如何应对高并发流量?

本文介绍了在项目中如何应对大流量问题,包括定义大流量的标准,如TPS和QPS。文章讨论了缓存、降级和限流作为常见手段,并详细阐述了限流的计数器、滑动窗口、漏桶和令牌桶算法。重点介绍了Guava RateLimiter的使用,它是基于令牌桶算法的限流工具,适用于单机限流场景。此外,文章还提到分布式场景下的限流策略,强调了流量控制的重要性。
摘要由CSDN通过智能技术生成

 应对大流量的一些思路

什么是大流量?

TPS(每秒事务量),QPS(每秒请求量),1W+,5W+,10W+,100W+...。其实并没有一个绝对的数字,如果这个量造成了系统的压力,影响了系统的性能,那么这个量就可以称之为大流量了。

应对大流量的一些常见手段是什么?

  1. 缓存:让数据尽早进入缓存,离程序近一点,不要大量频繁的访问DB。
  2. 降级:如果不是核心链路,那么就把这个服务降级掉。
  3. 限流:在一定时间内把请求限制在一定范围内,保证系统不被冲垮,同时尽可能提升系统的吞吐量

有些时候,缓存和降级是解决不了问题的,比如,电商的双十一,用户的购买,下单等行为,是涉及到大量写操作,而且是核心链路,无法降级的,这个时候,限流就比较重要了。

限流的常用方式

限流的常用处理手段有:计数器、滑动窗口、漏桶、令牌。

计数器

计数器是一种比较简单的限流算法,用途比较广泛,在接口层面,很多地方使用这种方式限流。在一段时间内,进行计数,与阀值进行比较,到了时间临界点,将计数器清0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值