#春运第1天#【又到一年春运季,还记得堵出翔的12306吗?】2011年1月,铁路购票官网12306正式上线,但上线还没一个月,就在春节海啸般的流量冲击下崩了,被网友痛骂。铁道部找来了阿里、腾讯、IBM等大企业,给出的条件是资金管够,但问题得解决,可最后却没人敢接这活。
有人就会疑问,QQ每天几亿人登陆,淘宝每天几亿人在逛,为什么阿里腾讯的服务器没崩,12306的服务器一下就崩了呢?
首先,12306以刷票和抢票为主,技术上除了读,还有大量的查询写入以及调度计算。双十一买东西抢东西的人是多,但也只是纯线上业务,整个数据其实是个闭环。而在12306上买一张票,为了保持全国线上线下的信息同步,后台要经过一系列复杂的调度算法,而且这些数据同步还要在秒级以内完成。
其次,与购物不同,想回家的心是谁也拦不住的。双十一,可能东西抢不到,最后就放弃了。可是春节的车票不一样,大家抢不到就会一直刷,以至于各种抢票工具泛滥,查询量猛增,所以天量的火车票查询是影响12306性能的重要原因之一。
最后,淘宝卖东西都设有库存,东西卖完了也就结束了。但是火车票不同,比如你没抢到北京到深圳的票,你就会想各种换乘方案,一个区间的票可能会同时裂变出多张区间,那么查询和出票逻辑就更复杂了。所以说12306是镇国神器,一点也不夸张。
最初铁道部找到了IBM,IBM很想赚这笔钱,给出了一系统的解决方案,但最后还是搞不定。后来铁道部找到了阿里,但是当时阿里云的技术并不成熟,所以最后也婉拒了这份合作。
4年后,阿里云计算技术逐渐成熟,双方在十一黄金周做了一个测试,将余票查询系统放到云上,运用云的弹性和计量方式来支持巨量的查询业务,最后的效果令人欣喜。此后12036就将75%的余票查询业务放在阿里云上了。
为了保证每个人都能安全回家,其实12306每年都在倾尽全力投入,你看得到的是抢票,你看不到的是艰辛。
春节将至,也希望每个人都能安全到家,过个好年!
