Snip20150116_15_meitu_2

昨天下午,自称为阿里云程序员,同时参与了今年12306春运项目的知乎用户首次披露,阿里自从去年年初就已经开始和铁路订票网站12306合作,到今年春运,12306已经将75%的余票查询业务交由阿里云托管。

该程序员表示,2014年初阿里和12306的技术团队开始讨论如何将余票查询系统放到云上,十一黄金周做了测试,并且“效果不错”。

今年春运期间,网友普遍反映12306的抢票和出票的效率比往年大大加快。加上预售期改为60天,给了大家足够的缓冲时间,以及一些新的规则制定,使得抢票的密度不如以前那样集中。种种措施多管齐下,让大家觉得今年的回家似乎不再如往年那样让人怨声载道,12306的表现也得到了大家的肯定。

之前一直有人说,让淘宝和京东这些处理了双11购物狂潮的网站来运行12306就好了。此时此刻,这一玩笑终于得到验证。12306的确是在举全国之力,并不排斥官方之外的民间力量,这也体现了商业和市场的强大威力。

该程序员还披露说,12306的用户需求和双11期间的服务器需求是不一样的。而且他也破除了人们的迷思,他表示12306影响抢票效率和服务器运行的关键因素,并不是购票流程,而是余票查询的环节。其实这也是非常符合逻辑的,我们都是在刷票的过程当中发现刷不到,刷到票的人坐位都会被锁定,接下来的45分钟内他们可以随意选择时间付款。所以我们觉得票买不到,并不是票都被人买走了,而是票都被查询到了。

具体来说,让阿里云分担12306压力的做法步骤是:

1. 把余票查询模块和12306现有系统做分离,具备独立部署的能力;
2. 在云上独立部署一套余票查询系统。这样子12306和云上都有了一套余票查询系统,调度更为灵活;
3. 一些安全措施;
4. 根据运行情况,云上的余票查询与12306原来的余票查询可以互相补位,根据实时的负载情况,来调配不同的访问比例,充分利用云的弹性。

在完成了查询以后,用户信息和购票过程目前依然在12306自己的服务器上完成。对云和已有系统的对接,以及其中可能的安全隐患,阿里云也做了一些安全措施来配合防范。

2014年1月,有一篇来自“前淘宝工程师”的文章为当时遭遇批评的12306辩护,通过自己了解的技术瓶颈证明12306已经做的足够好了。目前在网上能看到很多类似的,有服务器运维经验的人对12306的辩护和称赞。该程序员也引用了这篇文章,并且评论道:

做这个项目一晃有小半年了,感触很多。大家知道双11对阿里技术团队是一个不小的挑战,我参加了4年,其中有两年过的尤为艰苦。当时技术团队经常被业务方指责,就像现在大家对待12306的态度一样。但客观说,双11大促推动了阿里的技术成熟,春运也推动了12306采用更多面向未来的技术。

他最后又引述一段12306工程师回顾系统刚上线时说的话:

12306是个互联网新人,又或者被称为“富二代“,它长得很丑,也很傻很瓜,身体还很弱…所以第一次露脸它就演砸了,那天全中国互联网大佬和网民都盯着它看,基本上全中国的网友都涌入它的家。那天它宕机了,同样是那天骂声如潮……其实我们知道,他们骂的不是12306,他们骂的是这个时代。