
lion1109
从程序员角度看抢票难的原因
我认为性能瓶颈在链接,据说是大约50万用户同时抢票,那么就是50万个socket,由于默认http请求会开启keepalive,所以在在刚开始放票期间就需要服务器保存50万个socket,C10K(即一个服务器服务1万个客户端)问题其实现在已经可以通过IO多路复用来解决,假设小程序的服务端是一个个普通的2核4G内存的服务器,那么就需要50个服务器。但是就算有了五十个服务器,每个服务器要抗住最高1万的QPS还是非常困难的。更何况我觉得小程序的后端根本不可能买50台机器,成本太高了。我也不希望俱乐部花这个冤枉钱,因为只会一个月用一两天,很不划算。
我觉得最根本的解决办法还是分批,把用户分成10批,每半小时放十分之一的票,这样并发压力就只有原来的十分之一了。具体方案网上一大堆。