目的
- 在
50W+
并发量的前提下保证库存1W
的秒杀
活动正常进行
相关服务
- Nginx:最大请求数量
- 负载均衡:分发拦截
- Redis:主从集群
- Web Service :集群服务
方案
-
前提允许放行的请求数量:设定10W (需提前验证请求的有效性)
- 因为库存数量只有1W放行请求多了也没有意义量
-
通过负载分发到WebService上,一台1w,共10台
- 每5台WebService访问一个从Redis服务(Redis单机读写官方数据:8w-11W)
-
搭建Redis 一主多从服务:倒入1W库存到ZSet中
- 每处理一个请求消费一个,消费完为止
所有被拦截的40W+都进入CDN缓存的静态页面,等待中/排队人数已超过限制等
在10W处理完成之后还有库存未被消费的情况下(因为各种逻辑限制,符合条件的用户请求极少,这里最好在进秒杀页面时候就把所有的业务逻辑校验处理完)