做完⽆效流量的过滤,那么可能你的⽆效请求已经过滤掉了90%,剩下的有效流量会⼤⼤的降低系统的压⼒。之后就是需要针对系统的性能做出优化了。
1. ⻚⾯静态化,参与秒杀活动的商品⼀般都是已知的,可以针对活动⻚⾯做静态化处理,缓存到CDN。假设我们⼀个⻚⾯300K⼤⼩,1千万⽤户的流量是多少?这些请求要请求后端服务器、数据库,压⼒可想⽽知,缓存到CDN⽤户请求不经过服务器,⼤⼤减⼩了服务器的压⼒。
2. 活动预热,针对活动的活动库存可以独⽴出来,不和普通的商品库存共享服务,活动库存活动开始前提前加载到redis,查询全部⾛缓存,最后扣减库存再视情况⽽定。
3. 独⽴部署,资源充⾜的情况下可以考虑针对秒杀活动单独部署⼀套环境,这套环境中可以剥离⼀些可能⽆⽤的逻辑,⽐如不⽤考虑使⽤优惠券、红包、下单后赠送积分的⼀些场景,或者这些场景可以活动结束后异步的统⼀发放。这只是⼀个举例,实际上单独针对秒杀活动的话你肯定有很多⽆⽤的业务代码是可以剥离的,这样可以提⾼不少性能。经过这两步之后,最终我们的流量应该是呈漏⽃状。
网友评论