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

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

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

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

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

当然,有时候还有可能会用到文件排他锁,在处理一个订单的时候,使用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

相关推荐

  • 网站建设之衡量网站价格的七大重要因素。

    我们经常收到客户的询问,为什么有的网站收费几万甚至几十万元,但是很多普通网站建设公司的报价却很便宜,从几千千到几百不等。为什么一个网站的报价会有如此悬殊的差距,哪里最便宜?一般来说,网站要求的不同功…

    2022年9月10日
    066
  • 公司设计网站可采取的方法有什么。

    企业网站设计不同于电子商务和资讯网站。我们需要展示的是企业的品牌价值、企业文化、产品和趋势。因此,围绕这些开发的网页必须能够吸引客户,获得用户的认可。公司可以采取哪些方法来设计网站?我们一起看吧! 一…

    2022年9月10日
    060
  • 网站建设中的导航设计。

    如何让网站建设的优势凸显:第一、你必须要在网站的设计方案、网站形式和网站推广上有一个初步的概括。一般小中型的企业在网站设计都应该拥有属于自己的风格,能够很好的把企业品牌文化展现出来。然后针对企业客户…

    2023年2月14日
    05
  • 分享网站建设多年设计经验总结报告。

    网站建设多年设计经验总结 在当今的数字化世界中,网站已经成为企业和个人品牌的重要载体,作为一个专业的网站设计师,我积累了多年的设计和开发经验,以下是我对网站建设的一些重要理解和经验总结。 一、用户体验…

    2024年6月14日
    00
  • seo中怎样写好标题。

    我们说网站标题,就是标题,也是搜索引擎识别的一个标签。标题是独立的,只能出现在网站的头部,而代码标签是。如果你不仔细看,你是找不到标题标签的,因为它只出现在浏览器的顶部,也就是浏览器的标题栏里。我们…

    2022年9月10日
    063
  • 小编分享杭州企业网站建设设计哪家好建设时应如何优化。

        企业网站刚上线新站时,切忌在内容还未完善的时,过于迫切的许多发布外链。重视外链从零到多的定量增长,防止触发搜索引擎的反常机制,使得搜索引擎断定该网站优化过度。一旦网站优化过度,该网站就会进入绵长…

    2023年6月11日
    00
  • 网站建设如何提高网站建设的质量。

    典睿网络是一家主营业务:SEO、网站优化、关键词排名优化、百度搜索引擎优化、全站优化的服务公司。目前已服务数百家企业,擅长数据分析、整合推广、流量排名推广、转化率推广!是您进行网络营销推广的最佳选择! 其…

    2022年9月10日
    060
  • 企业网站建设外包包括哪些方面。

    现在大部分企业在建设网站的时候,并没有聘请网页设计师和技术开发人员自己制作网站,而是选择将企业网站的建设外包给网络建站公司。可能有很多企业不知道。网站外包有哪些方面?这里先说一下网站的设计,重点是私…

    2022年9月10日
    0106

联系我们

QQ:951076433

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