CSDN双十一的秒杀场景是如何设计的?
本文插图
秒杀这个话题到现在来说已经是一个老生常谈的话题了 , 不过因为又临近一年一度的双11 , 而且发现前段时间无论是阿里还是腾讯一些大厂其实还是在频繁的问到这个场景题 , 所以还是准备拿出来说说 。 秒杀从规模上来说可以分为大秒和小秒 。 大秒指的是比如双11这种特定的节日 , 商品规模超大、价格超低、流量超大的这种类型活动 , 小秒一般指的是商家自己配置的一些时段类型的活动 , 由商家自己指定时间上架 。 从形式来说还可以分为单时段秒杀和多时段秒杀 。 但是在这个场景里 , 我们一般就是指的单时段大型秒杀 。 秒杀设计要面对的压力和难度有几点:
- 怎么保证超高的流量和并发下系统的稳定性?如果峰值的QPS达到几十万 , 面对巨大的流量的压力系统怎么设计保证不被打崩?
- 怎么保证数据最终一致性?比如库存不能超卖 , 超卖了那亏本的要么就是商家要么就是平台 , 用户反正不背这个锅 , 超卖了就今年325预订 。
- 活动开始前前端页面的Button置灰 , 防止活动未开始无效的点击产生流量
- 前端添加验证码或者答题 , 防止瞬间产生超高的流量 , 可以很好的起到错峰的效果 , 现在的验证码花样繁多 , 题库有的还要做个小学题 , 而且题库更新频繁 , 想暴力破解怕是很难 。 当然我知道的还有一种人工打码的方式 , 不过这个也是需要时间的 , 不像机器无限刷你的接口 。
- 活动校验 , 既然是活动 , 那么活动的参与用户 , 参加条件 , 用户白名单之类的要首先做一层校验拦截 , 还有其他的比如用户终端、IP地址、参与活动次数、黑名单用户的校验 。 比如活动主要针对APP端的用户校验 , 那么根据参数其他端的用户将被拦截 , 针对IP、mac地址、设备ID和用户ID可以对用户参与活动的次数做校验 , 黑名单根据平时的活动经验拦截掉一部分羊毛党等异常用户 。
- 非法请求拦截 , 做了以上拦截如果还有用户能绕过限制 , 那不得不说太牛X了 。 比如双11零点开始还做了答题限制 , 那么正常人怎么也需要1秒的时间来答题吧 , 就算单身30年手速我想也不能超过0.5秒了 , 那么针对刚好0点或者在0.5秒以内的请求就可以完全拦截掉 。
- 限流 , 假设秒杀10000件商品 , 我们有10台服务器 , 单机的QPS在1000 , 那么理论上1秒就可以抢完 , 针对微服务就可以做限流配置 , 避免后续无效的流量打到数据库造成不必要的压力 。 针对限流还有另外一种栅栏方式限流 , 这是一种纯靠运气的限流方式 , 就是在系统约定的请求开始的时间内随机偏移一段时间 , 针对每个请求的偏移量不同 , 如果在偏移时间之内就会被拦截 , 反之通过 。
- 上游新闻双十一的快递包裹都去哪儿了?这份报告为你揭晓答案
- 网站知识腾讯云1核2G云服务器首年88元,活动还剩最后8天双十一腾讯云服务器价格很便宜为什么要选择腾讯云租用来租用服务器最后结语
- 广州初妆科技今年双十一最大赢家,不是天猫蒋凡而是TA今年双11,最大的赢家不是蒋凡双11、阿里云和蒋凡相互成就
- 互联网分析师于斌一场双十一,逼近5个亿!小仙炖打破了燕窝滋补市场的沉寂
- 品品科技 红米8A第二,双十一手机榜来了,iPhone11斩获冠军
- 互联智能君 小米两款,华为一款,还有搭载5nm芯片的它,十一月新机集锦
- 数码人科技 性价比最高联发科机皇诞生!售价跌至1699元:性价比秒杀小米
- 无忧浅谈影娱|伊能静双十一收货忙不停,其中这个细节让网友为她点赞
- 互联創客界双十一战报纷纷出炉!这几款手机名列前茅
- RELLET颐莲|双十一晒货来一波:同一件产品拆箱拆到手软 ,是真爱没错了!片状面膜