商城网店高并发秒杀活动的处理案例。

秒杀抢购活动是现在很多商城常见的营销手段,小米抢购、淘宝的整点免单、聚划算等都是成功的例子。

从简单处着手,秒杀是很好理解的:设置要秒杀的商品的数量,抢完为止。但是,实际应用中一瞬间的高并发压力、以及并发带来的负库存是要着重考虑。

要避免负库存的出现,可以在数据库加锁,不管外部多少请求,都可以在数据库操作前给阻断。当然,这种思路可以用在流量不大的普通商品上,用在高并发的秒杀商品上显然是不合适的,直接高频率的读写操作数据库,对数据库的压力太大,严重拖性能,量大的话挂掉也是很有可能的。

这时候就需要用到缓存队列了,现在前面应用层处理并发,这个资源的消耗是比较小的,内存中的处理效率也会很快。队列处理完之后再向数据库层进行请求操作。

当然,有时候还有可能会用到文件排他锁,在处理一个订单的时候,使用flock锁定文件,如果锁定失败说明有其他进程正在锁文件处理订单,返回失败。但是只使用这个的话,个人感觉不太好,我宁愿让用户在队列中多等待几秒,也不想直接返回失败。可以在缓存队列到数据库的时候使用下这个,多加一层安全系数。

模拟场景:

商城做一个秒杀活动,秒杀的商品数量为10,秒到即得。

方案:

1、应用层做首次过滤

因为考虑到处理的失败,我们要给缓存开的总数比10稍大是最好的,那我们就给队列开的总数是50。秒杀开始后,我们的队列只接收前面50个请求,当数量满50后,在请求就返回已秒杀完。如果一瞬间的并发大于50,我们就随机取50个放入队列。

缓存的处理是在内存上处理的,效率非常高,但是在这个层面处理过之后要二次请求,可能会有稍许延迟。

2、数据层做二次过滤

从50个中随机或者排序的方式,二次“并发”按队列执行下单,这时候可以考虑使用文件锁。入库时也可考虑使用乐观锁、自定义锁、限制条件等。

经过首次处理后的数据量已经非常小了,直接操作数据库的话压力会小很多,二次过滤也能尽可能的保证数据不超出。

其他:

如果是分布式集群服务器,就需要有一个或多个多层专门的队列服务器,或者配置缓存队列共享。

此方案成立的前提是并发量很大,能接近或者超过放出的数量。如果商品库存很足,而且并发量不大,反倒影响了用户体验。

本文来自Ruesin博客这种二次过滤的架构,下来之后,能最大限度的保证程序的严谨性。

Ruesin.com小米和淘宝的抢购还是有稍许不同的,小米重在抢的那瞬间,抢到了名额,就是你的,你就可以下单结算。而淘宝则重在付款的时候的过滤,做了多层过滤,比如要卖10件商品,他会让大于10的用户抢到,在付款的时候再进行并发过滤,一层层的减少一瞬间的并发量。

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/46682.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2022年7月3日 00:48
下一篇 2022年7月3日 00:48

相关推荐

  • 如今开网店,没创意怎么行。

        如今开网店卖产品不单纯的是售卖宝贝的本身商品属性,现在已加入了很多附加值。这就需要卖家们多点创意,让产品的附加值丰富起来。        创意引人气     创意,扯出去再收回来     创意是吸引人气的亮点,...

    2023年10月26日
    00
  • PSD档案毁损打不开。

    最近新闻报道夏季用电量达到新高峰,停电的可能性也增加了不少。虽然这个时候,用笔记本电脑工作的同事都会很羡慕。比如台式电脑,总会担心断电停电的文件没有存档的问题,文件可能因为没有保存而被销毁。 记得去...

    2022年9月10日
    073
  • 教你微淘运营经验分享。

           2015年,淘宝运营渐渐地转向无线端,手机淘宝中的微淘就是无线端运营最有力的一个证明,可以说,微淘作为无线端的三大流量入口中的一个,其中带来的流量是你无法估计的,如今,已经有很多店家开始专门运营...

    2023年11月1日
    00
  • 小编分享营销推广网站建设选择什么样的平台比较好。

    当前的营销推广,和过去不一样,推广的方式除了传统的方式以外,还加入了互联网时代的元素,全网营销才是很多企业选择的最佳方式。而全网营销当中,就涉及到营销推广网站建设的问题,那么选择什么样的平台好呢?...

    2023年6月7日
    00
  • 教你企业网站建设的首页设计该怎么做。

    网站推广就是以互联网为基础,借助平台和网络媒体的交互性来辅助营销目标实现的一种新型的市场营销方式。当前传播常见的推广方式主要是在各大网站推广服务商中通过买广告之类等等方式来实现,免费网站推广包括:se...

    2023年6月10日
    00
  • 怎样定制企业网站才能获得用户关注。

    互联网时代是用户为王的时代。任何企业有了用户,就有了生存的基础。没有用户的企业只能自生自灭。所以,企业网站定制开发的核心应该是提升网站的质量和体验,这样才能被用户接受。否则,即使投入更多的运营成本...

    2022年9月10日
    058
  • 网站自然流量有什么价值。

    自然流量需求客户通过搜索引擎去寻找,也许是其他地方的链接,锚文本,或者互联网上的其他途径,进入网站,点击咨询,然后PV就叫做网站的自然流量。自然流量的发生是有针对性的。比如我现在想买手机。 在JD.COM淘...

    2022年9月10日
    058
  • 网站建设的相关建议。

    随着互联网的快速发展,网站的作用越来越重要,逐渐成为企业不可或缺的营销推广手段之一。企业在建设网站之前,需要对网站进行全面的规划和设计,这样可以给网站一个明确的定位和良好的发展方向,也可以减少后期...

    2022年9月10日
    086

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息