秒杀活动

来源:互联网 发布:最好的电子商务软件 编辑:程序博客网 时间:2024/05/03 01:22

秒杀活动的技术挑战

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

秒杀活动只是网站营销的一个附加活动,这个活动具有时间多,并发访问量大的特点,如果和网站原有应用部署在一起,必然会对现有的业务造成冲击,稍有不慎可能导致整个网站的瘫痪
2. 高并发下的应用、数据库负载
用户在秒杀活动开始前,通过不停的刷新浏览器页面以保证不会错过秒杀,这些请求如果按照一般的网站应用架构,访问应用服务器、连接数据库,会对应用服务器和数据库服务器造成极大的负载压力。
3. 突然增加的网络及服务器带宽
假设商品页面大小为200k(主要是商品图片大小),南无需要的网络和服务器带宽是两G(200k x 10000) ,这些网络带宽是因为秒杀活动新增的,超过网站平时使用带宽。
4. 直接下单
秒杀的游戏规则是到了秒杀时间才能开始对商品下单购买,在此时间点前,只能浏览商品的信息,不能下单,而下单的页面也是一个普通的url地址,如果得到这个url,不用等到秒杀开始就可以下单

秒杀系统的应对策略

  1. 秒杀系统独立部署

为了避免使用秒杀活动的高并发访问而拖垮整个网站,使整个网站不必面对蜂拥而来的用户访问,可将秒杀系统独立布置;如果需要,还可以使用独立的域名,使其与网站完全隔离,即使秒杀系统崩溃了,也不会对网站造成任何影响。
2. 秒杀商品页面静态化
重新设计秒杀商品页面,不适用网站原来的商品详情页面,页面内容静态化;将商品描述、商品参数、成交记录和用户评价全写入一个静态页面,用户请求不需要经过应用服务器的业务逻辑处理,也不需要访问数据库、所以秒杀商品服务不需要部署动态的web服务器和数据库服务器。
3. 租借秒杀活动网络带宽
因为秒杀新增的网络带宽,必须和运营商重新购买或者租借。为了减轻网站服务器的压力,需要将秒杀商品页面缓存在cdn,同样需要和cdn服务商临时租借新增的出口带宽。
4. 动态生成随机下单页面url
为了避免用户直接访问下单页面URL,需要将url动态化,即使是秒杀系统的开发者也无法在秒杀开始前访问下单页面的url。办法是再下单页面url加入由服务器端生成的随机数作为参数,在秒杀开始的时候才能看到。

这里写图片描述

watch() 监视
multi() 事务开始
totlemywatch 销售量
if(mywatch<totle) 当前销售量 小于库存的时候
执行以下代码

0 0