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

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,这个并发量应该能很好解决了。


相关文章:

家用热水器噪声的具体原因01-10

不同品牌的机油有差别吗?更换品牌对发动机有无影响?01-10

电视线被剪断了还可以修好吗?01-10

电视自动跳台不受控制该怎么办?01-10

防水漏水怎么办?01-10

空调主板与风机板、与模块板的通讯故障以及怎样确定是否通讯故障01-10

什么是个人理财产品(个人理财与公司理财有哪些区别?)01-10

股票什么时候可以买卖交易(从0开始,搞懂股票交易规则)01-09