本帖最后由 branchzero 于 2016-1-8 01:06 编辑
Akasaka 发表于 2016-1-7 19:31
学校维护服务器的渣渣-。-不会负载均衡么
额,还是求不要小看这些运维和开发。
有时候负载均衡并解决不了这个问题,不仅仅是站点业务逻辑的问题了,整个数据库的查询可能还得做改造才行(堵住很大程度是数据库的查询和写入已经超出了单机能够承受的范围了)
一条Update整张课程余量人数表锁住,其他之后select也不能被执行,排队了。(如果问我,不锁住余量行不行,那么实际选中数量可能就会因此大于上限,比如电商的秒杀和限定商品数量销售这种,要是不锁表的话,是要命的。)
而且一查一操作是好几张表,还要和已有课程比较来判断时间是否冲突,还是同时几千几万的并发。
如果数据库用的是Oracle之类的商用数据库,还得涉及到软件授权费用,多一台就是五到六位数的开销,你认为学校肯出这钱么。
更何况学校没有能力去开发选课,基本都是买的正方或者类似的商业解决方案,源代码是加密的,如果你不解密是没办法去做优化的(这样就可以靠特殊需求定制再捞一笔钱了),当然不能否认他们写的确实是烂到极致。。。
主要不能让所有人在操作的时候感到页面堵住,要不然再狂F5对系统造成的负担更大(人肉拒绝服务攻击233333)
如果学校有能力自己开发选课系统并且结构合理的话,还是有解的。
解决方案就不 BB 了,反正 BB 了这里大部分人也都没办法理解。。。
这大概就和喷 12306 真垃圾是一个性质的事情了。
(事实上除了前端烂了点,用户体验做的不到位之外,12306感觉并没有什么大的黑点,挺佩服的)