电商技术解密——秒杀系统

作者: DearNicole | 来源:发表于2016-11-10 12:31 被阅读1450次

       马上又到双十一购物狂欢节了,这一天商家会使出浑身解数降价、打折诱惑大家购物,为了营造节日气氛一直比较常见的促销手段就是秒杀,整点秒杀!

        秒杀的商品一般价格确实比较低,比较有诱惑,尤其是放出一些明星商品的时候,例如iphone7的秒杀。这个时候往往会聚集大批的用户来抢购,更有甚者会有人采用恶意的软件进行暴力刷单。这种秒杀活动的请求量一般都是比较大,往往是平时请求量的若干倍,会导致交易系统瘫痪或者页面打开缓慢等问题,影响整站的交易,因为大一点的电商网站往往会将秒杀系统单独开发一套独立的订单流程。独立的流程一是可以跟普通商品交易流程分开,即使受到攻击最坏情况下也不会影响普通商品的购买,另外做成独立的流程比较方便做一些特殊的逻辑来防止被刷的情况。

    秒杀商品详情页

       下面我们来看下独立的秒杀订单流程应该是什么样子的,跟普通的购物流程有哪些差异。

       首先秒杀的商详跟普通商品的商详就是不一样的,参加秒杀的商品在商品维度上一般会有一个标记,通过这个标记来区分这个商品是走秒杀的流程还是普通购物流程,上图京东秒杀商品的商详页。

       这里可以看到秒杀商详跟普通商详有几点比较明显的区别:

       1.不支持其他的促销方式:参加了秒杀就不要想再参加满减,满赠等其他促销方式了。这里主要有两个原因,一个是业务上的,一个是技术上的。业务上不希望同一个商品叠加太多促销,本来已经是比较低的秒杀价了,再叠加其他促销方式卖家岂不是要亏死。技术上主要是因为秒杀是一套单独的订单流程,如果要支持其他促销的话,那需要把现有的促销方式再重新计算一遍,还是有不少工作量的,所以导致秒杀一般都不支持同时参与其他的促销。

       2.仅支持在线支付,不支持货到付款。这个存萃是业务上的考虑,参加秒杀的商品一般都是价格比较优惠并且数量有限的,如果支持货到付款,万一有人刷了N多单,但是不支付怎么办?

       3.“加入购物车”按钮变为“立即抢购”。因为是2套的订单流程,所以这里是不可以加入购物车的,一定是立即抢购,然后走到抢购系统的订单确认页生成订单。

       商详这里还有一个比较特殊的逻辑是,如果这个商品打上了秒杀的标记,那么在活动页或者搜索框里面搜出来的这个商品一定都是跳到这个商品的秒杀商详页而不是普通购物流程的商详页面。这里有一个平衡问题,如果这个秒杀活动放的过早,那么这个商品将会有比较长的时间不能进入普通购物流程进行购买只能等到秒杀时间到了才可以买,会影响销售。如果放的过晚,那么不能让用户尽早知道这个活动。现在有些电商系统没有将秒杀和普通的购物流程进行区分,那么就没有这个问题。但是会遇到上面提到的秒杀和普通购物流程相互影响的问题,这要看业务的发展情况来决定是否要进行分开了。

    秒杀资格验证

       有些秒杀商品比较奇缺的话会先搞个抢购资格,获取抢购资格的是另外一个流程,花样可以很多,可以定金预约,可以定金买专属商品券,最近天猫的华为官网就在搞mate9的预定专享券,买资格的同时顺便买个券。

       如果有秒杀资格的话,那么在秒杀的订单流程里面需要进行校验,首先让用户登录,拿到用户的账号ID后去资格池里面判断这个用户是否有资格,有资格的话才可以进入到订单确认页,如果没有资格,那么要给出相应比较友好的提示。

    秒杀验证码

       在进行到秒杀的订单流程之前,为了防止被刷通常这里需要输入一个验证码来简单的提高下被刷的门槛。比较低级的一些机器人可以通过这方法进行识别。另外一个好处是可以减缓系统生成订单的压力,因为秒杀系统的特点是在短时间内会有大量的并发请求,中间加入一个输入验证码的环节,可以降低请求的并发数,不过相应用户体验也是比较差的,这里也是需要平衡的一个地方,倒地需不需要加入这个验证码的环节。

    账号风险控制

       黑名单大家应该听说过,很多电商系统都会有自己的黑名单,这份名单的来源大多是风控系统自动识别出来的。在秒杀之前也会去判断下当前用户是否在黑名单里面,如果在黑名单里面那么也给个友好的提示“正排队中。。”,其实不管他来秒杀多少次都结局已经注定了。。。。

    结算页

       经过前面层层筛选,能到这个环节说明已经具备的抢购的资格,用户正常填写订单信息进行提交订单。这个订单提交流程跟普通的商品订单提交流程也是有些差异的。

    运费:这个不同电商公司有些差异,有些公司是秒杀商品部收运费的,有些是收运费的。这个完全取决于业务情况。

    促销:秒杀的订单确认页很多是不参与促销的,只能一单一品,没有赠品之类的促销方式,原因上面说过。

    校验资格:前面已经校验过资格了,但是为了严谨防止有人直接绕过商详直接到订单确认页提交订单,在生成订单的时候也需要再进行一次资格的校验。

    账号风控:原因同上。

       以上跟大家简单介绍了下秒杀系统的一些实现方式,这只是秒杀众多实现方式中的一种,不同电商平台的玩法基本类似,但是背后实现的原理可能不同,不同的业务发展阶段所采用的实现方式也不一样,秒杀就先聊到这,下期我们聊聊电商的风控,炒货商刷单、虚假注册、恶意套现等等,敬请期待!

    相关文章

      网友评论

      • helloDamien:库存的锁定解除没说呢
        a6758e9ddfea:都秒杀了,还是一套独立的订单流程,一般是进入结算页的时候就生成订单占库存了~

      本文标题:电商技术解密——秒杀系统

      本文链接:https://www.haomeiwen.com/subject/dibzuttx.html