本篇文章1655字,读完约4分钟
12306购票系统上线以来,春运期间崩溃、刷卡死亡、无页面响应伴随着12306的增长。 当然,随之而来的是,所有it媒体对普通民众的嘘声和铁道部it架构的质疑。 之后,各种技术的大牛和媒体开始提问12306,为什么不用ibm的处理方案。 为什么不去阿里巴巴做呢? 为什么不增加服务器和互联网的带宽?
面对几乎被人一片骂声,一位名叫王强的网民知道,日前给出了自己解体的答案。 除去其中的吐槽部分,分解的结果如下。
12306it系统:
12306之前的it系统主要使用superdome小外形规格(型号未知) +hp-ux+sybase ase数据库。 但是,性能不足被发现后,全部改为x86+linux平台。 基本配置为(约) 17台多路Xeone7服务器)具体加载数未知),每个节点1tb的内存,但数据库应该保持sybase ase (但是所有数据库都存储在内存中运行)
12306年春运系统高峰负荷约为11万tps,新系统逐年崩溃,但都能够在短时间内恢复。 这证明了新系统几乎承受着去年春运的压力。 11万tps的水平相当于年淘宝双11点的水平。
12306痛点分解:
从12306年春运高峰期每天装400万张票的水平来看,12306在总量上不及13年淘宝双11的水平,但12306的装票时间段主要集中在装10张票的时间段,剩下的票基本在各时间段的前3分钟内卖出, 因为12306所承受的压力几乎30分钟内可以放300多万张票,当然,12306所承受的压力用这个基本可以简化的标准来衡量,12306所面临的压力是世界上最大的。
此外,每发行12306张,都会更新现有的数据库,交易关联度更高。 淘宝双11的交易分散在多家商家,每次交易都会更新数据库,但其密集度和关联度不及12306
为什么不用ibm和甲骨文系统?
这是一个尖锐的问题,即使抛开新闻安全和贸易保护的因素,王强也表示,ibm power系统无法与12306现有系统灵活扩展,升级也无法不停机。 另一方面,ibm power的处理方案在金融方面很突出,但与12306这种典型的票务系统相比,特点并不明显。 当然,也需要考虑价格因素。 根据经验,一般小型飞机和其他核心系统的年度维护费用约为整个系统采购价格的20-30%或更高。 oracle的处理方案也存在同样的问题。
王强说,实际上,12306年以前就与包括ibm和oracle在内的许多世界顶级it处理程序的提供商有过接触。 但是,这些提供商出于各种原因拒绝合作。 包括其处理方案在灵活性、扩展性等方面不符合12306的诉求的情况。
为什么不让阿里巴巴做?
作为国内it应用水平最高的企业之一,12306当然不忘向阿里巴巴取经。 王强在文案中表示,阿里巴巴团队实际参与了12306系统的建设,同时帮助12306建立了其队列系统。 该系统对保护12306系统免遭完全崩溃有很大的作用(所谓免遭崩溃是系统后端数据库等核心系统,对前端卡死亡和崩溃的原因尚无准确的定论)。 当然,由于两个APP本身差异很大,阿里巴巴团队也没能在更大程度上帮助12306。
如何拯救12306?
王强在文中没有直接给出这个最核心的问题的答案,但从以上分解来看,12306系统的主要问题集中在单个解决节点的解决能力和系统总线的峰值吞吐量上。 12306已经把数据库放在内存上,每个节点的内存容量达到1tb的数量级,从目前的情况来看,这已经是目前it的最高水平,短期内没有其他方法。 12306使用了pivotal的gemfire分布式内存数据平台,该平台主张通过增加服务器的规模可以提高性能,但从实际情况看,17台多路e7的性能应该在线
客观地说,王强提出的拆解非常合理,但从目前整个行业的it水平来看,12306确实站在最前沿,其效果还不够理想,但其努力是肯定的。 随着一个解决方案的性能提高、内存总线带宽增加、数据中心互联网带宽增加和延迟减少,12306的性能可能会提高。 当然,这个过程可能会比预期的要长。
标题:“英雄还是狗熊?高手详解12306 IT架构与困境”
地址:http://www.sdsxywx.com/sdss/4050.html