qiuxiacc
  • 比分
  • 资讯
  • 圈子
  • 排名
← 成都蓉城圈
lion11093月1日 08:34

从程序员角度看抢票难的原因

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

 

我觉得最根本的解决办法还是分批,把用户分成10批,每半小时放十分之一的票,这样并发压力就只有原来的十分之一了。具体方案网上一大堆。

点赞 10评论 222浏览 0

评论

20 条
Roy321
3月1日 08:41
去应聘啊 哥们,
点赞 16回复 1
高新区老理
3月1日 08:42
需和求,数量都是一定的,不管你中间玩儿出个花来,分子除分母,他还是那么多。
点赞 2回复 42
高新区老理
3月1日 08:43
供和需,上面第一个字写错了。
点赞 0回复 0
用户已注销
3月1日 08:44
后端弹性啊[裂开],卖票之前先扩容
点赞 3回复 5
用户已注销
3月1日 08:44
又是据说
点赞 0回复 0
一倍250
3月1日 08:44
像泰山队那样,比赛周每天早上都放票。这样一次没有抢到的每天都有机会🤦
点赞 0回复 0
加斯特阿勒特
3月1日 08:45
预约制, 摇号
点赞 4回复 2
路上loong
3月1日 08:48
分10批还不是一样每批那么多人抢,没用,除非摇号
点赞 2回复 2
Semiton
3月1日 08:49
很明显是上云的业务啊,高突发,冤大头才自己买服务器
点赞 2回复 4
前后左右中间
3月1日 08:51
第一个半小时放2000张,有50w个socket请求。 第二个半小时放2000张,有49.8w个socket请求…… 没得好大意义。
点赞 4回复 6
用户已注销
3月1日 08:57
你应该根本没看过现在的接口,我认为已经很好了,完全没必要为了瞬时压力去增加服务器(你们认为的转圈、卡,都是程序设置的延时,目前是5秒) 只有有效请求才会跑到业务服务器
点赞 1回复 4
安乐公2022
3月1日 09:05
我认为分批没用,应该动态调价,除学生票等特定优惠票以外的普通票,让真实的供需决定价格。 普通票开售时全部上涨180%,然后每一个小时降低30%,6小时后回归到基础价格(底价)。退票费为购买票价的50%。(以上涨幅仅为举例)
点赞 7回复 17
三杯弄宝刀
3月1日 09:16
你怎么把用户分批?按年龄?按性别?按户籍?
点赞 0回复 1
哈兰德吃小孩不吐骨头
3月1日 09:23
你这个分10批,并发压力就变成十分之一是怎么来的?一起第一批抢的后面批次不能再抢了吗
点赞 0回复 3
CSGO用户
3月1日 09:28
哎呀,就搞成i茅台那种嘛,直接预约,然后摇号出结果,结果出来选座位就行了
点赞 2回复 3
走去爬凤凰山
3月1日 09:28
他们这个小程序是放在云端的,有弹性服务器 买相关服务就好了
点赞 0回复 0
bgwonnn
3月1日 09:32
技术贴👍👍👍
点赞 2回复 0
梵音辰天
3月1日 09:47
会不会每个十分之一都有50万个账号来抢
点赞 1回复 1
王定刚
3月1日 09:51
最简单的办法,抢了票,不去,退票的,扣除百分之五十违约金。一哈就要少好多。
点赞 3回复 4
蒙娜丽莎的哈哈
3月1日 09:51
一样的,你看每次云闪付抢优惠卷还不是卡的批爆。短时间突然一哈这么多访问量,你喊哪个来都遭不住。
点赞 1回复 0