选课系统和火车购票系统有相似的特点,
短时间内会有爆发性用户并发,每一次选课或者购票都会影响全局。
像这类系统有没有什么通用的经验介绍一下?
譬如可以从减少用户焦虑,提高支撑能力等方面?
短时间内会有爆发性用户并发,每一次选课或者购票都会影响全局。
像这类系统有没有什么通用的经验介绍一下?
譬如可以从减少用户焦虑,提高支撑能力等方面?
|
VDimosSep 5, 2019 via Android
1
加服务器
|
|
2
竞价选课啊,陪读外国学生选课啊
|
|
CooleeSep 5, 2019
3
服务器跟上了,就不会有问题,就像淘宝双十一
|
|
chinvoSep 5, 2019 via iPhone
4
队列、扩容、人为限制(比如分系分时段放课、分地区分时段放票)
|
|
5
这类属于秒杀系统,秒杀系统行业有很多成熟的方案,可以参考下。
减少用户焦虑可以从前端加入等待动画,状态显示;后端热 key 做好集群隔离,用策略打散用户请求时间。 最后,做好压测,解决性能瓶颈,容量预估,然后看着加机器。 |
|
moonflySep 5, 2019 via iPhone
6
看到火车购票网站,还有没有人记得一个叫 12306NG.org 的网站?
|
|
lsheroSep 5, 2019
7
好几百个教授一致同意错峰选课
|
|
kokutouSep 5, 2019
8
所有人分成 10 份,
放到 10 个不同的位面, 这问题就解决了。。。 |
|
Narcissu5Sep 5, 2019 via Android
9
这类系统就不该做成秒杀式的,现在 12306 有个功能候补,思路终于对了
|
|
JerryChaSep 5, 2019
11
选课可以不遵循先到先得的规则,到点了关闭通道随机踢人。
|
|
VensonEEESep 5, 2019
12
最好的方案是预约摇号。
秒杀什么的 ,都是劳神劳力。 摇号,全凭天意,无话可说。 |
|
14
|
|
GreatshuSep 5, 2019
16
就学校选课而言,这些应该就够了
按照年级分开选课 临时限制多设备登录 给选课超过一定数量的人给予清空课表处理 给脚本用户加验证码 云服务器(学校私有云)临时扩容 |
|
dallasluSep 6, 2019
17
这两个问题都是如何公平分配的问题。选课和刷票都是大家拼手速,手快有手慢无,抢到的沾沾自喜,没抢到的骂骂咧咧。另外还有一些常见办法,比如看运气——摇号分配车牌;看需求强烈程度——优先把奶给哭声大的孩子。但是高考填志愿施行多年,没人觉得高考不公平,甚至会说最公平的就是高考了。现在候补票的方式,终于有点靠近这个公平范例了。我把志愿报给你,我只要是周末北京到南京就可以,服从安排,有啥坐啥;隔一段时间给我个结果就行了。根本没必要浪费时间刷几个小时,一等座没刷到,再刷二等座也没了,又刷站票卧铺都没了。
|
|
qile1Sep 6, 2019 via Android
18
解决方案就是拿钱咂,好多次看到 12306 上面有票,就是买不到,持续半小时都是那样!
|
|
ybbswcSep 6, 2019 via Android
20
需求大于供给。没办法。
|
|
CooleeSep 6, 2019
21
@noli 抢票,选课,和买电影票是一样的,只不过业务级别差很大吧。
换种角度,如果能有更好分配先后买票的解决方案,或许可以解决这种问题。 再换种角度,火车票抢票这种情况只在中国才有,需求量大了,很多问题也就不言而喻了。 |
|
22
火车票购票的问题不光是互联网抢购的问题,还涉及到车站线下购票,购票点购票的问题,多个渠道抢有限资源,还必须兼顾公平,比如 12315 线上购票 11 点后就停止服务了, 因为车站和购票点也都是 11 点就关门停止售票了,如果网上还能抢,对无法上网购票的人来说不公平。这个和选课什么的相比还是要复杂很多
|
|
luojianxhlxtSep 6, 2019
23
学习小米,点击选课后先 roll 一下,小于 95 的直接下一轮
运气也是实力的一部分 |
|
967182Sep 6, 2019
24
按年级、按学科、按老师 拆分选课时间
|
|
ddzySep 6, 2019
25
@hahaayaoyaoyao 暴躁老哥, 在线摊牌
|
|
littlewingSep 6, 2019 via iPhone
26
排队
|
|
Eugene1024Sep 6, 2019
27
先预约,凭号来 ,各时段分流
|