内容简介:罗列一下大体思路,仅供参考:秒杀之后未支付取消占位,如何对剩余库存做及时的控制更新?
秒杀时为了公平起见,往往是单个用户只能购买一件商品,但是又要做到不能少买,那么问题来了,如何保证?
罗列一下大体思路,仅供参考:
- 单点登录,单个用户只能在一处登录,防止多处登录。
- 前台智能人机验证码,可以过滤99%的作弊行为(预先分析出抢购地址,实现脚本抢购)。
- 分布式限流,限制接口总并发数/请求数,最大程度防止脚本抢购行为。
- 消息队列,100件商品,设置200个队列长度,设置商品 ID + 用户 ID 联合主键,确保一个用户只能秒杀一件商品。如果进入队列的前一百个请求有重复抢购行为,前台提示用户秒杀失败,100+后的队列补入数据。基于前台的限流 + 人机验证码,重复秒杀的请求应该不会很多,当然,为了确保不能少买,可以增加商品队列的长度。
秒杀之后未支付取消占位,如何对剩余库存做及时的控制更新?
数据库订单中有一个未支付状态。如果超过时间,例如15分钟,库存会重新会恢复(大家熟知的“回仓”)。如果是车票的话,秒杀的提示是,开动秒杀后,15分钟之后再试试看,说不定又有票哟!
以上所述就是小编给大家介绍的《从构建分布式秒杀系统聊聊重复购买》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Master Switch
Tim Wu / Knopf / 2010-11-2 / USD 27.95
In this age of an open Internet, it is easy to forget that every American information industry, beginning with the telephone, has eventually been taken captive by some ruthless monopoly or cartel. Wit......一起来看看 《The Master Switch》 这本书的介绍吧!