. . .. . .
序言: 此文的撰写始于国庆期间,当中由于工作过于繁忙而不断终止撰写,最近在设计另一个电商平台时再次萌发了完善此文并且发布此文的想法,期望自己的绵薄之力能够给予各位同行一些火花,共同推进国的大型在线交易系统的研发工作,本文更多地站在软件工程角度来看待整个问题,有关后续的技术问题研究,将在另外的博文中予以探讨。
一年一度的国庆大假刚落下帷幕,由于这次长假是历史上最长的一次,因此出行问题备受关注,而铁路出行作为最主要的出行方式更是大家讨论的热点,老生常谈的购票难问题又被提起。这几天我在上也看到很多关于12306.cn的讨论,很多网友都发表了自己对于铁道部购票的不满,更有很多同行讨论了关于12306的设计问题,期待能够贡献自己的绵薄之力,我仔细拜读了其中至少10篇文章,很多同行多是站在技术的角度来考虑,其中不乏很多有创意的想法,纯粹的技术设计能解决一些问题,不过似乎不能够全面地解决这个庞大的、堪称瞬间流量“世界第一”的实时交易,目前12306的问题与其说是一个技术问题,还不如说它是个软件工程问题,道理非常简单,请看如下的新闻报导:
回望12306在2011年12月底以来的表现,铁道部高层也直呼想不到。 铁道部副部长胡亚东介绍,今年第一次在全国铁路实行网络订票,截至1月8日已经达到每天200万,12306的注册用户已超过1000万人。1月1日至7日,“12306”日均点击次数已经超过了10亿次,专家认为瞬间点击可能达到了“世界第一”。高度的关注、巨大的访问量,导致12306频繁出现系统崩溃、无法登陆、无法支付等情况。
“像春运这样庞大的需求量,难道铁道部没有预想到并有所准备?”隆梅资
.. .专业 . .
. . .. . .
本管理副总经理马宏兴对此困惑不解。
在探究12306问题的深层原因以及解决之道时,各家看法不同,“12306的问题最终还是系统架构的问题。因为用户有大量的动态、交互式访问,所有的请求都会发送到12306的服务器端,同时在线并发用户数量太多,导致无力承载,造成拥堵。”华南师大学计算机学院副院长单志龙认为。
又有说法认为,如果给12306增加服务器和带宽,也能够缓解拥堵的症状。这一观点铁道部部颇为认同。
“得承认,我们对访问量估计得不足。”铁道部信息技术中心一位中层向记者透露,12306曾在2011年春运期间试运行,高峰时段访问量约在1亿点击量,因此,信息中心估计2012年春运期间的访问量约在3亿至4亿。
但是,结果却大大出乎人们的预料。“12306”在1月9日的日点击量达到14亿次,是原来料想峰值的5倍之多。“崩溃”在所难免!
笔者连日来也萌发了一个想法,假如让我来设计12306,我作为总架构师,该当如何考虑呢?自己虽然经历过众多的大项目的全生命周期跟踪管理,对于软件工程应该是有一定的研究,但像如此巨型项目,应该如何来设计、管控与实施?确实也颇伤脑筋,下面就笔者根据自己多年根植于IT研发的经验,特别是近年来对于巨型譬如国的淘宝、京东等,国外的Facebook、Google等的跟踪研究经验谈谈自己的看法。 1. 需求分析阶段
需求分析是至关重要的,对于12306而言,需求分析的重点应该需要得出如下方面的关键数据才算需求分析基本结束: 终端用户方面的:
访问用户数量、总体注册用户数量、平时访问用户的峰值、平时访问用户的谷值、
.. .专业 . .
. . .. . .
大假期访问用户的峰值、大假期访问用户的谷值、小假期访问用户的峰值、小假期访问用户的谷值; 用户的地域分布性、用户可能介入的设备、用户接入的网络状况统计分析; 后台服务方面的: 关键购票流程业务分析:
购票的基本流程分析、一次购票的TPS数量分析、一次购票的用户流量分析、一次购票的用户静态流量分析、一次购票的用户动态流量分析;
这其中又分为初次购票与再次购票两种情况,流程稍微有些不同; 系统提供的其他服务统计分析;
前面所说的的大假在国目前只有2个即春节与国庆,小假较多譬如清明、端午、中秋等。 对于用户访问用户数、流量、网络、后台的TPS数量能够建立一个数学预测模型那就非常的清晰了,对于后续的设计指导意义至关重要; 对于如此大的在安全性方面的需求需要做重点调研,另外由于是实时交易,还需要考虑金融安全问题,安全方面还得从如下两个方面来全面考虑:
部安全,主要关注资金以及交易的安全,特别是防止部人员尤其是系统管理员;
外部安全,主要关注如何确保拒绝外部恶意入侵与攻击成为一个核心,特别是类似DDOS之类的攻击;
对照笔者的论述以及前面的新闻容,不难发现,12306的设计组非常明显没有充分深入地进行需求调研与数据模型分析,特别是预案设计,因此笔者才敢说这更是个工程问题,而不完全是个纯粹的技术问题。 2. 系统原型设计阶段
国很多的软件公司不太重视原型设计,这点对于小软件开发无关紧要,可是一旦到了大型软件的开发之时,不重视原型设计会失败得很惨,笔者曾经在后期救过
.. .专业 . .
一篇对12306铁路网站问题分析的博文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)