流量削峰

秒杀活动带来的流量峰值对服务器造成巨大压力,流量削峰成为必要。本文介绍了三种削峰策略:1) 使用消息队列进行缓冲,2) 通过答题延缓请求,3) 分层过滤无效请求。答题策略可以防止秒杀器,同时拉长请求时间,减轻服务器压力。分层过滤则通过层层拦截无效请求,确保最后的有效请求。这些策略结合业务手段,如发放优惠券,能有效缓解大流量冲击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

如果你看过秒杀系统的流量监控图的话,你会发现它是一条直线,就在秒杀开始的那一秒是一条很直很直的直线,这时因为秒杀请求在时间上高度集中于某一个特定的时间点。这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。

对于秒杀这个场景来说,最终能够抢购到商品的人数是固定的。也就是说,100个人和1000000个人发起请求的结果都是一样的,最后都只会有100个人买到秒杀的商品。这就意味着,并发量越高,最终的无效请求也就越多。

但是对于业务来说,秒杀活动本身是一种商业推广行为,肯定是希望有更多的人参与进来的。无效的请求越多,也就表示这商业推广越成功。只是在秒杀开始的时候,这些大量的秒杀请求就会给承载秒杀的服务器带来沉重的负担,因此我们可以设计一些规则,让并发的请求延缓或过滤掉这些无效请求,以此来削弱流量高峰对服务器的压力,这就是流量削峰。

为什么要削峰

我们知道,服务器的处理资源是恒定的,你用或者不用,它就在原地,处理能力不会改变。所以出现峰值的话,就很容易会导致忙到处理不过来,虽然闲的时候也会没什么要处理。但是为了保证服务质量,很多处理资源只能够按照忙的时候来预估,而这样就会导致资源的浪费。

流量削峰就好比因为存在早高峰和晚高峰的问题,所以有了错峰限行的解决方案。

削峰的存在,一是可以让服务端处理变得平稳,二是可以节省服务器的资源成本。

针对秒杀这一场景,削峰从本质上来说就是更多地去延缓用户发出的请求,以便减少和过滤掉一些无效的请求,它遵从【请求数要尽量少】的原则。

流量削峰主要有三种操作思路,一是排队,二是答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值