秒杀架构设计

一.秒杀活动的技术挑战

1.对现有网站业务造成冲击

2.高并发下的应用、数据库负载

3.突然增加的网络及服务器带宽

4.直接下单:秒杀的规则是到了秒杀时间裁能开始对商品下单购买,在此时间点之前,只能浏览,不能下单,如果下单页也是一个普通的url的话,那么只要得到这个url,还没等活动开始就可以下单了。

二.秒杀系统的应对策略

1.秒杀系统独立部署:及时秒杀网站垮了,也不会影响整个网站。

2.秒杀商品页面静态化

3.租借秒杀活动网络带宽

4.动态生成随机下单页面url:为了避免用户直接访问下单页面url,需要将该url动态化,即使秒杀系统的开发者也无法在秒杀开始前访问下单页面的url。办法是在下单页面url加入服务器端生成的随机数作为参数,在秒杀开始的时候裁能看到。

三.秒杀系统架构设计

1.如何控制秒杀商品页面购买按钮的点亮

为了减轻服务器端负载压力,更好地利用CDN、反向代理等性能优化手段,该页面被设计为静态页面,缓存在CDN、反向代理服务器上,甚至用户浏览器上。解决办法是使用js脚本控制,在秒杀商品静态页面中加入一个js文件引用,该js文件中加入秒杀是否开始的标志和下单页面url的随机数,当秒杀活动开始的时候生成一个新的js文件并被用户浏览器加载,控制秒杀商品页面的展示。这个js文件使用随机版本号,并且不被浏览器、cdn和反向代理服务器缓存。

2.如何只允许第一个提交的订单被发送到订单子系统

  为了减轻下单页面服务器的负载压力,可以控制进入下单页面的入口,只有少数用户能进入下单页面,其他用户直接进入秒杀结束页面。

 

 

posted @ 2016-11-08 18:54  刘尊礼  阅读(464)  评论(0)    收藏  举报