首页 常识
当前位置: 首页 > 常识 >

1元秒杀怎么抢快(超级简单秒杀技术方案)

100次浏览     发布时间:2024-08-27 08:00:39    

场景

1元秒杀iphone 100台,会有一百万人在线抢购。

秒杀系统流程

  • 有一个秒杀页,页面上面有倒计时的按钮
  • 一旦倒计时时间到了,按钮就会被点亮,让你可以点击开始下单
  • 下单时候需要填验证码,反之机器刷单
  • 倒计时的时间是和后端校准的,前端页面不断像后端请求“开始没,开始没”
  • 每次后端都会返回一下校准时间
  • 一旦后端返回可以开始了,后端会给前端返回一个下单url
  • 这个url被赋值到按钮上,就可以点击里
  • 点击后如果抢到库存,就计入到支付页面,如果没有返回秒杀结束

一百万请求在不断询问开始了没,开始了没,后台可能会扛不住



秒杀技术挑战

100万个tps,带宽问题

所有请求都集中在一条热点数据上,所有的分开分表,还是分布式事务都无济于事。

解决方案

  • 引入CDN,一百万个用户被几十个或者上百个CDN分担
  • 在CDN上做一下小文章,部署一个小服务。小服务主要是告诉前端页面开始没开始,还可以统计在线人数,定期将在线人数回传给数据中心,这样数据中心就知道在线预约共有多少人。
  • 假设线上有一百万人,在快开始时候数据中心回传给CDN上的小服务一个概率值0.02%
  • 于是当秒杀开始时候100万人点击按钮进行下单,所有请求都 会先到CDN,小服务按照0.02%概率把用户放到数据中心,也就是一万个人放过两个人,其他9998都返回秒杀结束。
  • 于是100万按照0.02%放过200左右人,这200人同时在数据中心进行强100个iphone,也就是200tps,这个并发量应该能很好解决了。


相关文章:

什么剃须刀品牌排行榜(顶尖剃须刀排行榜!)05-06

红酒什么牌子的好喝又实惠(红酒哪款最好喝)05-06

梳子为什么桃木的好(使用桃木梳子梳头有什么好处?)05-05

房产证过户需要什么手续(房产过户有几种方式?)05-05

水泵为什么自动停了(水泵的常见故障及维修方法)05-04

真丝为什么变黄(真丝衣物应该用什么洗衣液)05-04

拉杆箱什么材质好质量好(行李箱什么材质的好?)05-03

金丝楠为什么绿色(金丝楠基础认知)05-03