张欢
2018年1月3日消息,早8时45分,北京,中国铁道科学研究院全路客票监控中心,一场特殊的春运售票保障会在此召开。在售票数字不断变化的调度大屏前,来自中国铁路总公司、铁科院的十几位专家和技术人员就春运售票工作进行交流和复核。3日,2018年春运售票正式启动。售票被视为春运“第一仗”,是最重要的“战役”之一。
高峰售票每秒420张
12306开始发售春运首日票。作为全国铁路客运“大主管”,中铁总客运部副主任黄欣详细询问了系统运行、售票情况和12306功能服务方面的情况。“很多人都在手机上订票,APP运行流不流畅?”黄欣问。“APP最近又升级了一次,用户体验提升比较明显,改进了运行较慢和报错较多的问题,运行很平稳。”铁科院电子所副所长朱建生说。铁科院电子所负责包括12306在内的全国铁路客票系统的研发和运维工作。
由于发售的是春运首日即2月1日的车票,并非春运高峰期,12306的售票与平日相比没有明显变化。调度大屏上显示,截至11时,12306共售出206万张车票,其中11万张为2月1日的车票,最高峰时一秒420张。黄欣表示,节前售票高峰期预计出现在1月14日至16日,那几天可以购买除夕前几日火车票。为了保证系统稳定运行,今年12306使用了两个公有云,实现“双云互备保障”,日均售票能力从1000万张提升到1500万张。
每日最高400亿次点击
12306网站实质提供的是网络订购的服务,从性质来看是一个电子商务网站,但从运营模式和规模来看又不同于世界上的任何一个网站。它具有很鲜明的特点:包括实名制,每个购票者必须实名,以防止私下转卖;资金流,网络购票必须在线付款;短时间高访问量,尤其春运和黄金周几天时间访问量和购票量剧增;区域分布不均匀,购票面向全国人民很难针对某个城市进行所谓的覆盖,区域请求对12306是一个巨大的挑战。
像淘宝、京东等电子商务网站也要求实名制,但这些网站对于一些流量巨大的销售节大体上具有销售计划,同时也能对不同商品进行不同地区覆盖。而12306很难准确预测某个线路火车票的具体需求量,而且车票是数量有限且刚需的商品,用户订票过程中的延迟、崩溃、失败往往会引起很大的负面情绪。
每次网站奔溃,用户会第一时间想到宕机,但并不一定是真宕机,也可能是服务器处理的工作太多导致整个服务终止,或者是前段Web的访问量太多导致线路繁忙无法登录。从终端用户角度来看,遇到类似问题无论是淘宝、京东还是12306都可以视为网站没有满足用户对于服务水平的需求。然而从技术角度来看,服务器太慢、带宽不够都会给终端用户造成类似的感觉。
2011年,中国铁路实现网络售票。从2012年春运开始,12306备受各界“拷问”:系统处理能力不足、用户反映访问慢、报错多,体验不佳。回忆起当年,朱建生说感受就是“高度焦虑”。
为改变这一状况,12306不断“变身”。几年间,12306先后采用多种举措,包括采用排队机制,海量购票请求实现有序处理,优化余票查询算法,推出手机APP,实现网上购票实名认证等,不断提高购票体验。如今,12306已能够承受每日最高400亿次的点击,最高峰时日售票接近千万张。售票压力的缓解不仅因为系统扩容,背后更有我国高铁网的快速延伸。2017年,我国投产高铁新线3038公里,特别是春运车票压力较大的成渝地区有了西成高铁、兰渝铁路和即将开通的渝贵高铁,出入川通道大增。
“春运期间,除了节前和节后高峰期及一些重点方向外,售票基本实现供需平衡,‘一票难求得到缓解,当然高峰期还不能满足所有人的需求,不过这已经不是售票能力不足,而是运输能力不足的问题。”黄欣说。售票不怕了,怕的是用户体验够不够好。2017年以来,12306进行了多次升级,上线了许多新功能,包括微信支付、接续换乘、自主选座、互联网订餐、常旅客服务等。这些新功能将在这个春运接受第一次“检阅”。
接续换乘对12306最具考验。以北京到哈尔滨为例,可以从沈阳、长春、四平等多地换乘,换乘的车次也很多,看起来简单,但是搭配的组合可能上百种。看似一次查询,但实际上内部要进行上千次的计算。朱建生表示,春运期间12306会对接续换乘单独分配充足的处理资源,尽全力确保乘客能够顺利回家。
对于年年春运的铁路人来说,春运是一场“战役”,但是也越来越常态化。与公众印象不同的是,近年来,12306日售票量最高峰并不在春运,而在“十一”黄金周。黄欣说,不管怎样,这一仗必须打好,取得全胜,要进一步完善应急处置、专注于保障售票这个“第一目标”,同时春运出行走得好不好,也是铁路人关注的目标,需要全社会的理解与支持。
瞬间流量巨大是症状
12306存在哪些问题?造成问题的核心原因就是它的瞬间流量,流量太大是一个症状,症状产生的原因涉及服务器的部署、带宽、负载均衡、数据架构、应用程序,等等。
从终端用户的动作来看,是否有足够的带宽和服务器来承载Web的瞬间流量?每天开放售票的前五分钟,瞬间流量一定是最大的。高峰期,早晨放票时间系统可能有十万张车票售卖,放票的前面五分钟就全部卖完,每秒钟的连线数量是相当惊人的。负载均衡的系统肯定要去计算一次这样的连线需求量有多少,然后再去加减一些编译器,比如说前一分钟里面有10000个连线,可是实际上前端服务Web的服务器连线容许值有15000个连线,加了15%。
12306订票网站是一种经验学习。在服务器准备、带宽、负载平衡这些东西,从假设到实践,每年持续不间断地优化,让服务慢慢到位,最终肯定能够达到在开放的时候,所有用户都可以得到想要的服务质量。
动态扩充搭建公有云
我们常说网络无国界,但数据不是,数据不可能随便乱放。12306网站最大的特点之一就是实名制,如此巨大的、真实的数据是不可能放在国外的服务器上的,这也就意味着12306在上云的过程中不能选择国外的厂商。
如何在部署上实现动态扩充,当流量增大时,怎样在短时间扩充它的服务的可用资源?一个应用部署在一个服务器里面,当服务器工作不堪负荷的时候,有没有办法把应用的计算工作分给其它的服务器硬件?这其实就是分布式运算,分布式运算可以通过类似平台的方式来做。中铁总与中国电信就建立12306网站备份公有云展开合作。
此前,12306网站一直使用阿里云公有平台,且是惟一公有云平台。与中国电信对接,目的是建立新的公有云平台和原阿里云平台相互备份,共同承擔余票查询业务,旅客可就运行中的列车查询购票信息。备份平台建成后,12306网站在春运购票高峰期间的功能将进一步完善。
在“互联网+”的大时代背景下,铁路部门为应对2017年春运,已对12306网站进行了扩容改造,增加了在列车运行过程中实时查询旅客购票信息的功能,并且不断地优化实名制火车票挂失补办办法,增加了旅客在列车上和到站检票前丢失火车票的补办服务。12306不断完善自己的服务系统,以更加人性化、更加便利化地服务去适应“新常态”环境下人民的新要求。同时,为了打好近五年“最早”春运这场硬仗在“软、硬件”上秣马厉兵,力求为广大旅客创造一个平等、便利的购票环境,努力在春运为广大旅客营造一个充满温馨的乘车氛围。endprint