秒杀活动要点分析
秒杀活动的本质就是满足大并发,高性能,高可用的分布式系统一次检验
要点 1:大并发
大并发意味着数据量大,请求多,网络流量大
解决方式:少
请求少:请求的返回数据量比较少,把商品详情的做成静态页面,这些请求就返回极少的数据,再利用浏览器,cdn 服务器等缓存,可以相应比较快。还有一种设计阀门,只放进来 1000 个请求,剩余请求全部阻挡系统外面,剩余页面统一跳转到一个刷新页面,可以直接缓存在服务器。对于请求这个一千个请求,继续设计阀门,慢慢到目标商品数量,以支付为准。这就做到请求次数少,请求量少
路径少:专门开发一套简单的服务,之前的库存服务,商品服务订单服务,支付服务,地址等最后可能变成支付服务,商品服务等。这样可靠性比较大,路径越少,出现错误的可能越少,响应的速度也会变快,依赖服务少,意味着相对于之前的系统的压力和资源就会变得少。
要点 2:高性能
最重要:反应快,体验好
数据请求方式,服务依赖路径和缓存等技术方式,返回速度变得快,这样系统的性能比较快,性能就变得高。做了一些阀门起到削峰的作用,同时也设计一些统一的跳转的页面这样看到效果比较好。用户感知比较好。
要点 3:高可用
1、备份节点:一些节点当备份节点,当运行服务节点出现问题的时候,可以迅速顶上去。
2、分集群部署:秒杀活动的集群和系统集群分开部署,这样操作对系统的集群影响比较少,也能对现有的秒杀系统好运维,出现问题能够及时定位
3、设计兜底方案
其他:
防止秒杀器活动:在某个 js 文件的存储商品的 id,这样之前的请求都是为空,防止跳过秒杀页面,直接请求页面。
评论