为了应对上篇博客所述的挑战,秒杀系统应有如下几点:
1. 秒杀系统独立部署
为了避免秒杀活动的高并发访问,而拖垮整个网站,使整个系统不必面对蜂拥而至的用户访问,可将秒杀系统独立部署。如果需要,还可以使用独立的域名,使其与网站完全隔离,即使秒杀系统崩溃了,也不会对网站造成任何影响。
2. 秒杀商品页面静态化
重新设计秒杀商品页面,不使用网站原来的商品详情页面,页面内容静态化。将商品描述、商品参数、成交记录和用户评价,全部写入一个静态页面,用户请求访问不需要经过应用服务器的业务逻辑处理,也不需要访问数据库。所以秒杀商品服务不需要部署动态的web服务器和数据库服务器。
3. 租借秒杀活动网络带宽
因为秒杀新增的网络带宽,必须和运营商重新购买或租借。为了减轻网站服务器的压力,需要将秒杀商品页面缓存在CDN,同样需要和CDN服务商临时租借新增的出口带宽。
4. 动态生成随机下单页面URL
为了避免用户直接访问下单页面URL,需要将该URL动态化,即使秒杀系统的开发者,也无法在秒杀开始前,访问下单页面的URL。办法是在下单页面URL加入由服务器端生成的随机数作为参数,在秒杀开始的时候,才能得到。
不喜勿喷,欢迎纠错指正
资料引自《大型网站技术架构-核心原理与案例分析》