`
jianchen
  • 浏览: 334122 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

秒杀相关知识以及技术

阅读更多

电子商务的主交易流程:

1,查询商品 2,创建订单 3,扣减库存 4,更新订单 5,付款 6,卖家发货


秒杀业务的几个特性:

1,低廉价格 2,大幅推广 3,瞬时售空


1,秒杀一般是定时上架

该功能实现方式很多。不过目前比较好的方式是:提前设定好商品的上架时间,用户可以在前台看到该商品,但是无法点击“立即购买”的按钮。但是需要考虑的是,有人可以绕过前端的限制,直接通过URL的方式发起购买,这就需要在前台商品页面,以及bug页面到后端的数据库,都要进行时钟同步。越在后端控制,安全性越高。

 

定时秒杀的话,就要避免卖家在秒杀前对商品做编辑带来的不可预期的影响。这种特殊的变更需要多方面评估。一般禁止编辑,如需变更,可以走数据订正多的流程。

 

2,减库存的操作

有两种选择,一种是拍下减库存 另外一种是付款减库存

目前淘宝采用的“拍下减库存”的方式,拍下就是一瞬间的事,对用户体验会好些。


库存会带来“超卖”的问题:售出数量多于库存数量

由于库存并发更新的问题,导致在实际库存已经不足的情况下,库存依然在减,导致卖家的商品卖得件数超过秒杀的预期。这样的损失只能由淘宝来负责了。

 

如何解决超卖 得问题?

方案:采用乐观锁

update auction_auctions set          
quantity = #inQuantity#    
where auction_id=#itemId#     and quantity = #dbQuantity#

 

3,秒杀由于存在的广泛的用户,并发暴涨的情况下,一定要注意在文案方面做得尽量人性话些。在系统承载不足的情况,不能让会员觉得被欺骗了。同时对于一些重要信息需要做到可查,比如显示订单的下单信息,付款信息等。


4,在秒杀的时候,由于瞬时访问量导致应用的压力暴涨,数据库的load上升,IC(商品中心)的压力很大,从而导致了其他非秒杀的交易也受到了影响。

解决方案:1,增加应用的机器 2,将秒杀应用于普通交易相隔离。对IC做了分组隔离,从而保证秒杀不会影响主站的其他交易。


5,由于商品详情页面(detail)该页面用户的刷新频率很高,所以
尽量将该页面静态化 ,淘宝的秒杀商品详情页面,去除了很多不必要的后台查询逻辑,比如卖家的信誉,星级等信息。


6,detail页面的响应时间在3-5秒,主要原因是需要到数据库查询库存信息,该操作所花时间比较长,对数据库的压力也很大。所以采用了从缓存 取库存信息。淘宝有一个tair缓存,在应用起来的时候,会将商品的库存信息加载到tair中。


7,聚划算多的一次秒杀活动中,出现超卖的情况,原因是:库存信息是从tair中取的,拍下时在tair中减少了库存,但是在真正购买时,回去更新数据库中的库存,这样就导致数据库的当前库存信息又去更新了tair中的库存信息。

架构如下:



 

这件事情带来的思考是:尽量将信息保持一致,能够做到同一处修改最好。比如保持总库存以及sku 的库存修改保持一致。


后来的方案是:数据库中只记录默认的库存信息,对库存的更新都放在tair中去做。不过这个就要保证tair的足够稳定,不然tair挂掉,购买信息就全丢了。所以可以采用一些机制保证信息的可恢复。比如记日志,不过这种涉及到IO的也会影响性能了。

变更后的架构如下:



 

8,秒杀器的应对

秒杀器一般下单个购买及其迅速,根据购买记录可以甄别出一部分。

可以通过校验码达到一定的方法,这就要求校验码足够安全,不被破解,采用的方式有:秒杀专用验证码,电视公布验证码,秒杀答题。不过电视一般是提前录制的,所以跟秒杀的定时上架还是会有时间差的。这样还是不够安全。秒杀答题可以增加一定的趣味型,而且问题答案的录入也延长了秒杀的时间,所以现在一般用的蛮多。

对于秒杀器还可以使用黑名单的方式,对其进行拦截过滤。


整体而言,秒杀业务如果做得好的话,对商家以及电子商务网站都可以带来流量以及知名度的提升。但是如果很多方面考虑的不完善,则会是一场得不偿失的促销。

在运营和技术上都要密切配合,考虑好应对策略。

首先,网站专题规划:
      (1)活动时间——五一期间是一个促销的好时机,并非有人说的所谓“五一期间很多人出去游玩,无心网购”。但真的是这样的吗?为什么淘宝能在五一期间顺利登上购物网站的 王座,流量超越亚马逊和ebay。可见,五一流量差是个人观点,有一定道理,但不完全正确。
     (2)秒杀规则——规则的制定应有产品策划部门提出,技术部以及相关部门探讨确定。作为互联网公司,技术是生产部门,最终都要通过网站来实现所有的想法。所以产品策划万不可空想,必须与技术探讨实现流程。
.V'h%` am`0 ITPUB个人空间/g o U9bk"xc4X V ITPUB个人空间0Gy*B}8i6e

 

  • 大小: 47.7 KB
  • 大小: 46.7 KB
分享到:
评论
2 楼 mojunbin 2014-07-04  
很清晰的文章
1 楼 步青龙 2012-06-07  
好文啊,大赞啊

相关推荐

Global site tag (gtag.js) - Google Analytics