以下回答不特指任何一家电商,为什么要这么说呢?
因为我怕律师函。
先说结论,有可能你从一开始就注定抢不到,原因可能只是你的ID(可能是你的用户名,也可能是注册时系统内部给你分配的一个数字)
对任何一个做开发的人来说,以下内容都可以不看,老生长谈了。
我会用尽可能通俗的方法,给非技术人员解释其中的原理。
对电商来说,尤其是大型电商,每一次秒杀活动,都会有大量用户参与,一瞬间访问量会增大成百上千倍,后端服务器就算再扩容,也没办法轻松搞定。
于是,工程师们对秒杀这个业务做了分析。
首先,秒杀的商品,要么价格便宜,要么商品紧俏,因此,超售是绝对不可接受的。
你想想,你是商家,你在电商挂了个商品,开了个秒杀活动,备货100件。
然后电商平台给你卖出去了102件,你怎么办?
你不发货,人家投诉你,你很无辜。你发货,多出来的2件从哪儿来?
超售不行,但是少卖是可以的,100件商品,我只卖出去95件,多出来的5件我可以等这波秒杀流量过去,再慢慢卖嘛。
于是,工程师会在秒杀开始前,先让你预约,有5000人预约。
预约完成后,秒杀开始前,就会在缓存里给你们随机或者按规则打标签。
5000人中,去掉有可能是刷单的高风险用户,去掉已经参加过活动的,去掉各种其他被认为不合适的人,剩下的人随机选200人,凡是没被选中的,从这一刻就已经注定没希望了,无关你的手速。
秒杀开始时,只有选定的200人可以进入后面的逻辑,剩下的人,一开始就被缓存拦住了,前端页面直接返回没抢到,后台服务器压力大大减小。
你可能会问,怎么保证这200人都会来抢?其实没法保证。
但是,因为你都预约了,200个人里,总不会100个人都没有吧。
就算100人都没有,大不了出现有些商品没卖出去,等秒杀过后,流量没那么大了,我再放出来,给剩下的人捡漏呗。
几乎所有的电商都是这么做的,标准操作。
所以,知道了原理,我一般会这么做。
秒杀开始时,去试一下,大概率你抢不到。
我会等,等一会儿去捡那些没卖出去的漏,一般在秒杀结束后的半个小时左右。
如果前一个步骤有没卖出去的或者没付款的,后面可能就会放出来。
不过,随着电商平台越来越有钱,服务器资源也越来越多,第一轮选中的人也越来越多,这种漏就慢慢变