如何设计秒杀系统?
什么CDN缓存技术,什么单独构建秒杀页面的前后交互逻辑,什么redis集群高可用性设计,数据库读写分离之类……之前。
最有效的方式是只筛选极小部分用户参与秒杀活动,大部分请求直接抛弃。
从结果来说,这种思路是没啥问题的,也是公平的。也是最常用的
比如20000人抢十个一元商品
那么让这两万人全部参与交互,一秒内两万个请求进来,QPS20000,和只随机让其中100个人去抢,结果是一样的。因为最后能买到的只有十个,是极小概率事件。
但是对服务器来说,是天和地的区别
对于后者,你只不过在20000选100的时候就输了而已。
(本回答和小米无关,只是随便说说)
程序员来从程序角度简单解读一下:我并没有从标题所谓的代码中找到什么有效证据。
如果判断逻辑是前端做的,那么你应当能在前端看到查询有效性的代码,但如果判断逻辑是后端做的,那么你刷出来的页面就会是点击后直接显示售罄的代码。
后端代码本来就是你看不见的。已经售罄之后没有必要再让前端无数次发起查询请求,直接给前端返回一个不进行查询请求直接售罄的页面即可。
至于小米有没有作假,我不清楚,但从网站性能的角度,售罄之后后端直接返回一个不经查询就显示售罄的页面,可能比先返回一个通用页面然后用前端代码去查状态更靠谱。
重申一下我的观点:小米有可能作假,也可能没有作假,甚至我个人觉得很有可能真的作假了,虽然我没有证据。。。但目前趴出来的这段前端代码并不能证明小米作假。因为代码并不是一定要写在前端页面上的,还可以直接写在后端,这种情况下前端是看不见查询代码的。