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

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

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

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

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

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

相关推荐

  • 谁来帮我们做网站内容维护。

    很多朋友们在打开互联网的时候,看到里边有各种各样的连接,看到里边也有各种各样的公司存在,然而在这个时候自己也想要制作一个,非常完美的网站,方便其他人查找到。而且在这个时候里边也会记录每一天登录的人群…

    2022年9月10日
    049
  • 网站建设时期要怎样改善网站用户体验。

    现在市场上做网络推广的企业越来越多,对网站的需求也越来越大。同时,不同行业对网站的需求也会有很大差异。但是,要想在搜索引擎中获得好的排名,网站用户体验是一个不可忽视的重要因素。那么如何在网站建设期间…

    2022年9月10日
    064
  • 网站建设哪家好。

    建哪个网站比较好?如何选择建站公司 建哪个网站比较好?这个问题没有特别准确的总结,最终还是需要你自己去判断。选择几家公司权衡利弊。最快的方法是在百度搜索网站建设公司,选择排名前十的公司了解一下。根据网…

    2022年9月9日
    054
  • 我来分享专业做seo的杭州公司:做seo优化技巧。

    seo优化这件事情对很多人来讲都是比较重要的,专业做seo的杭州公司基本上可以满足我们的实际需求,那么他们在这方面究竟如何对网站进行优化? 提交搜索引擎 在专业做seo的杭州公司来看提交搜索引擎,这一方面完全可…

    2023年6月26日
    00
  • 我来教你网站索引量提升的技巧是什么。

    网站索引量直接关系到搜索引擎对网站的友好程度,索引量可以说是蜘蛛的爬取量,索引量越多收录的可能性也就越大,网站的内容质量,网页的合理布局都会影响索引量的多少。 1、网站内容质量 要想被搜索引擎判定为是有…

    2023年6月21日
    00
  • SEO关键词选择有哪些技巧。

    关键词选择的技巧有哪些?在整个网站seo优化过程中,关键词的选择是最重要的。很多企业因为关键词选择错误,网站排名和流量都没有提升。SEO和SEO优化师一起讲关键词选择技巧和方法。 大多数企业想当然地认为通用词…

    2022年9月10日
    055
  • 专业网页设计-建站公司。

    专业网页设计 网页设计需要标准化和系统化。 香港90%以上的公司都是中小企业,市场竞争非常激烈。相信很多老板都想在市场参与者中突围。开门有三件事。一个公司最基本的就是办公室,电话,卡片,邮箱,网站。或者有…

    2022年9月10日
    0124
  • 基础网页设计色彩概念 。

    关于网页设计的色彩 网页设计的色彩体系和印刷的色彩体系有很大的不同。一个是RGB 。这三种颜色称为光的三原色,即红、绿、蓝。所有的彩色电视机和屏幕都装有能发出这三种基本光的发光装置。因为这三种光的混合几乎…

    2022年9月10日
    071

联系我们

QQ:951076433

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