美文网首页
秒杀系统设计——流量过滤

秒杀系统设计——流量过滤

作者: 嘘寒问暖 | 来源:发表于2022-07-15 23:13 被阅读0次

本质上,参与秒杀的⽤户很多,但是商品的数量是有限的,真正能抢到的⽤户并不多,那么第⼀步就是要过滤掉⼤部分⽆效的流量。

1. 活动开始前前端⻚⾯的Button置灰,防⽌活动未开始⽆效的点击产⽣流量

2. 前端添加验证码或者答题,防⽌瞬间产⽣超⾼的流量,可以很好的起到错峰的效果,现在的验证码花样繁多,题库有的还要做个⼩学题,⽽且题库更新频繁,想暴⼒破解怕是很难。当然我知道的还有⼀种⼈⼯打码的⽅式,不过这个也是需要时间的,不像机器⽆限刷你的接⼝。

3. 活动校验,既然是活动,那么活动的参与⽤户,参加条件,⽤户⽩名单之类的要⾸先做⼀层校验拦截,还有其他的⽐如⽤户终端、IP地址、参与活动次数、⿊名单⽤户的校验。⽐如活动主要针对APP端的⽤户校验,那么根据参数其他端的⽤户将被拦截,针对IP、mac地址、设备ID和⽤户ID可以对⽤户参与活动的次数做校验,⿊名单根据平时的活动经验拦截掉⼀部分⽺⽑党等异常⽤户。

4. ⾮法请求拦截,做了以上拦截如果还有⽤户能绕过限制,那不得不说太⽜X了。⽐如双11零点开始还做了答题限制,那么正常⼈怎么也需要1秒的时间来答题吧,就算单身30年⼿速我想也不能超过0.5秒了,那么针对刚好0点或者在0.5秒以内的请求就可以完全拦截掉。

5. 限流,假设秒杀10000件商品,我们有10台服务器,单机的QPS在1000,那么理论上1秒就可以抢完,针对微服务就可以做限流配置,避免后续⽆效的流量打到数据库造成不必要的压⼒。针对限流还有另外⼀种栅栏⽅式限流,这是⼀种纯靠运⽓的限流⽅式,就是在系统约定的请求开始的时间内随机偏移⼀段时间,针对每个请求的偏移量不同,如果在偏移时间之内就会被拦截,反之通过。

相关文章

网友评论

      本文标题:秒杀系统设计——流量过滤

      本文链接:https://www.haomeiwen.com/subject/dyacirtx.html