详情内容

电商网站中,50W-100W高并发,秒杀功...

2022-03-30 17:32:36

  问:电商网站中,50W-100W高并发,秒杀功能是怎么实现的?

  秒杀的套路千千万,反正物品肯定满足不了需求,抢不到东西也是正常的,所以套路可以全链路安排!下面以100w并发为例:

  1 浏览器端直接随机过滤下,比如随机数1到100,是11就通过,完全看脸,1/100的概率能成功提交请求,开抢3s后不再成功,这会儿并发只剩下1w了

  2 Nginx的反向代理层,都可以相同思路过滤下,检测下某个请求参数,留个1/10的概率通过,其他直接返回已抢光,并发能进入服务器的只有1000了

  3 程序入口来个布隆过滤器,筛掉重复请求,到业务层了,直接基于Redis管理下库存,每次请求就直接decr返回库存现状,1000的并发单机就能hold住

  4 库存等于0了,就在程序入口处拦截请求,后续请求也就不进业务处理环节了

  轻松吗?什么,还有问题

  下单后放弃?没关系,redis来个incr,入口处就又开始放请求进来了;

  Redis挂了?来个集群嘛,1000并发能挂太难了,再说数据都在数据库呢,出不了大事儿,直接返回秒杀结束就是

  情况还有很多很多,都是可以解决的,思维发散就好,以上也只是一种简单粗暴的设计方式,抛砖引玉下

相关新闻
©2021 热狗网
电话客服
微信咨询
QQ客服