存储 频道

Pivotal助力春运高峰期的12306高效运行

  【IT168 资讯】

  12306的3年改革之路

  2015年铁路客票的春运购票高峰期已过,与往年相比,对12306吐槽的花边新闻今年是少了很多。

  在过去3年,12306互联网售票系统进行了很多次重大的变革:

  1. 在2012年春运,12306无法处理高流量和高并发访问,例如,无法登陆,无法查询余票,无法下订单,吞钱不吐票,反应时间慢,甚至系统崩溃等问题,备受社会大众的诟病。

  2. 在 2012年春运后,12306网站承包单位铁科院开始进行大胆的改革,与VMware/Pivotal展开合作,并在合作伙伴资拓宏宇(上海)公司的支持下尝试使用数据网格技术- Pivotal Gemfire的内存运算数据管理平台解决系统的第一个瓶颈 - 余票查询。在2012年国庆期间,使用Gemfire技术顺利解决余票查询问题,但出现第二个瓶颈 - 订单排队,用户下订单必须等候30分钟到1个小时才能得到订单的确认。

  3. 在使用Gemfire技术顺利解决12306余票查询后,铁科院对此产品深具信心进行12306的第二次改造– 订单分库查询,将订单生成和订单查询分开处理,以解决Sybase数据库瓶颈和订单排队问题。根据统计分析,订单查询请求量远远数倍于订单生成请求,所以利用Gemfire提供订单快速查询。

  4. 在2013年春运,12306大量的部署Gemfire节点,基本上解决核心系统性能的瓶颈问题,但很不幸又出现“刷票插件”抢票的问题。“刷票插件”引发大量的并发查询,造成系统过度负荷和网络阻塞。在高于平常数十倍的负荷下,12306安然度过危机并没有崩溃,只是反应时间比平常慢。

  5. 在2014年春运,由于铁路“运能”不足,还有实名制的漏洞,票贩子利用科技和“抢票插件”大量囤积车票,再利用退票和放票的时间差抢票,造成大众对12306有“里外勾结的黑箱作业”图利黄牛的误解。

  针对上述问题,承办单位铁科院组织技术团队不断的加强12306系统,提高更好的服务质量,并平息大众的质疑。

  2015年春运12306的重大举措

  12306互联网售票系统在短短的3年内不断的改革升级,使人逐渐对铁老大过去的作风有面目一新的感觉,12306的服务质量也得到大众的认可。但由于铁路运能问题还是存在买票难的问题,这不是12306系统能够解决的,这需要时间来不断扩充铁路基础建设,提高运能才是根本解决之道。

  据相关人士透露,今年春运承办单位铁科院采取两个重大的举措,使12306顺利挺过了高峰售票期。

  1.部署数百个Pivotal Gemfire节点,提高12306核心系统的性能

  目前12306售票网站使用Pivotal Gemfire节点构建了5大集群,有“余票查询集群”,“订单查询集群”,“票价计算集群”,“实名制核查集群”和“用户登陆集群”。这些集群采取分布式模式部署在不同区域的3个数据中心。

  2.使用“混合云”的基础架构

  由于春运期间客流量大幅增加,12306的访问量提升数十倍甚至百倍。在12306改造初期已经考虑此问题,需要构建一个能提供弹性扩展的“云平台”来支撑季节性的需求。在经过谨慎评估后,采用“分布式”内存网格计算平台来解决此问题。

  在以往的春运期间,12306售票系统部署Gemfire集群在2个数据中心,提供服务。在2015年春运购票高峰之前,考虑到超大并发会造成网络流量大以及阻塞的问题,今年特别在阿里云建立一个数据中心,由阿里云提供“虚拟机”的租赁服务,将基于Gemfire实现余票查询功能的系统以及Web服务部署在这些虚拟机上,以分流“余票查询”请求,解决因为高峰期超高并发造成的网络阻塞问题,以进一步提高服务品质。为此,12306在2014年下半年在阿里云做了小规模的部署和调试。

  2015年春运购票高峰期的12306高效平稳运行,验证了混合架构的可行性。

  12306混合云架构的成功服务模式 - 3个数据中心协同合作提供优质服务,按需采购云服务的模式,不但顺利解决高峰期的网络流量和系统资源问题,而且降低了在IT方面资金的投入。此举给政府部门和企业单位提供了新的思路。

  此外,由于Gemfire在中国的12306互联网售票系统的成功实践,印度铁道部近期也采购了Gemfire以构建核心系统,此新系统已经成功上线使用。

4
相关文章