一篇對12306鐵路網站問題分析的博文.doc

(16頁)

'一篇對12306鐵路網站問題分析的博文.doc'
?.序言:  此文的撰寫始于國慶期間,當中由于工作過于繁忙而不斷終止撰寫,最近在設計另一個電商平臺時再次萌發了完善此文并且發布此文的想法,期望自己的綿薄之力能夠給予各位同行一些火花,共同推進國內的大型在線交易系統的研發工作,本文更多地站在軟件工程角度來看待整個問題,有關后續的技術問題研究,將在另外的博文中予以探討。  一年一度的國慶大假剛落下帷幕,由于這次長假是歷史上最長的一次,因此出行問題備受關注,而鐵路出行作為最主要的出行方式更是大家討論的熱點,老生常談的購票難問題又被提起。這幾天我在網站上也看到很多關于12306.cn的討論,很多網友都發表了自己對于鐵道部購票網站的不滿,更有很多同行討論了關于12306網站的設計問題,期待能夠貢獻自己的綿薄之力,我仔細拜讀了其中至少10篇文章,很多同行多是站在技術的角度來考慮,其中不乏很多有創意的想法,純粹的技術設計能解決一些問題,不過似乎不能夠全面地解決這個龐大的、堪稱瞬間流量“世界第一”的實時交易網站,目前12306的問題與其說是一個技術問題,還不如說它是個軟件工程問題,道理非常簡單,請看如下的新聞報導:回望12306網站在2011年12月底以來的表現,鐵道部高層也直呼想不到。 鐵道部副部長胡亞東介紹,今年第一次在全國鐵路實行網絡電話訂票,截至1月8日已經達到每天200萬張,12306網站的注冊用戶已超過1000萬人。1月1日至7日,“12306”網站日均點擊次數已經超過了10億次,專家認為瞬間點擊可能達到了“世界第一”。高度的關注、巨大的訪問量,導致12306網站頻繁出現系統崩潰、無法登陸、無法支付等情況。         “像春運這樣龐大的需求量,難道鐵道部沒有預想到并有所準備?”隆梅資本管理有限公司副總經理馬宏興對此困惑不解。       在探究12306網站問題的深層原因以及解決之道時,各家看法不同,“12306網站的問題最終還是系統架構的問題。因為用戶有大量的動態、交互式訪問,所有的請求都會發送到12306網站的服務器端,同時在線并發用戶數量太多,導致網站無力承載,造成擁堵?!比A南師范大學計算機學院副院長單志龍認為。           又有說法認為,如果給12306網站增加服務器和帶寬,也能夠緩解擁堵的癥狀。這一觀點鐵道部內部頗為認同。       “得承認,我們對訪問量估計得不足?!辫F道部信息技術中心一位中層向記者透露,12306網站曾在2011年春運期間試運行,高峰時段訪問量約在1億點擊量,因此,信息中心估計2012年春運期間的訪問量約在3億至4億。   但是,結果卻大大出乎人們的預料?!?2306”網站在1月9日的日點擊量達到14億次,是原來料想峰值的5倍之多?!氨罎ⅰ痹谒y免!筆者連日來也萌發了一個想法,假如讓我來設計12306網站,我作為總架構師,該當如何考慮呢?自己雖然經歷過眾多的大項目的全生命周期跟蹤管理,對于軟件工程應該是有一定的研究,但像如此巨型項目,應該如何來設計、管控與實施?確實也頗傷腦筋,下面就筆者根據自己多年根植于IT研發的經驗,特別是近年來對于巨型網站譬如國內的淘寶、京東等,國外的Facebook、Google等的跟蹤研究經驗談談自己的看法。  1. 需求分析階段 需求分析是至關重要的,對于12306而言,需求分析的重點應該需要得出如下方面的關鍵數據才算需求分析基本結束: 終端用戶方面的: 訪問用戶數量、總體注冊用戶數量、平時訪問用戶的峰值、平時訪問用戶的谷值、大假期訪問用戶的峰值、大假期訪問用戶的谷值、小假期訪問用戶的峰值、小假期訪問用戶的谷值; 用戶的地域分布性、用戶可能介入的設備、用戶接入的網絡狀況統計分析; 后臺服務方面的: 關鍵購票流程業務分析: 購票的基本流程分析、一次購票的TPS數量分析、一次購票的用戶流量分析、一次購票的用戶靜態流量分析、一次購票的用戶動態流量分析; 這其中又分為初次購票與再次購票兩種情況,流程稍微有些不同; 系統提供的其他服務統計分析; 前面所說的的大假在國內目前只有2個即春節與國慶,小假較多譬如清明、端午、中秋等。 對于用戶訪問用戶數、流量、網絡、后臺的TPS數量能夠建立一個數學預測模型那就非常的清晰了,對于后續的設計指導意義至關重要;  對于如此大的網站在安全性方面的需求需要做重點調研,另外由于是實時交易網站,還需要考慮金融安全問題,安全方面還得從如下兩個方面來全面考慮: 內部安全,主要關注資金以及交易的安全,特別是防止內部人員尤其是系統管理員;    外部安全,主要關注如何確保拒絕外部惡意入侵與攻擊成為一個核心,特別是類似DDOS之類的攻擊; 對照筆者的論述以及前面的新聞內容,不難發現,12306的設計組非常明顯沒有充分深入地進行需求調研與數據模型分析,特別是預案設計,因此筆者才敢說這更是個工程問題,而不完全是個純粹的技術問題。  2. 系統原型設計階段 國內很多的軟件公司不太重視原型設計,這點對于小軟件開發無關緊要,可是一旦到了大型軟件的開發之時,不重視原型設計會失敗得很慘,筆者曾經在后期救過一個ITSM管理系統的開發,究其原因,其中很重要的一條是對于原型設計不太重視,特別是在應用了大量的新技術而未進行原型設計是一件風險極大的事情,在筆者親身帶的幾十個項目中有一部分就是這種情況,其中幾個項目的痛苦經歷(通宵達晝的加班長達1-2個月)更是令我終生難忘;  根據前面的需求方面的分析討論,不難發現12306的原型設計中需要解決的問題如下: 前端Web服務器基于巨量訪問的(秒均訪問千萬級別)可伸縮性模式驗證:    這塊可供選擇的技術包括如下一些:基于CDN的Internet緩存加速技術、基于Apache Server+JBoss(Weblogic)的組合服務不同的、基于不同接口的調用原型研究、請求排隊技術等的原型研究;  后端數據庫讀寫基于火車票應用的可擴展模式;    大家都知道,借鑒Facebook的巨量數據處理經驗,必須基于現代數據庫的分區技術、分布式處理技術并且通過后續的查詢結果集成技術來實現巨量交易數據的可擴展性,基于巨量數據應用的可擴展模式通常有如下模式: 水平擴展技術,通常是基于分區技術來實施,維度是分區技術進行選擇時的關鍵,針對于火車票的交易數據而言,時間維度是最好的選擇,具體執行而言,可以將每天的車票交易信息放到某一分區上來執行,這樣對于后續的數據維護(存儲備份等)都將帶來極大的方便;      垂直擴展技術,通常是基于地域等實現的分布式擴展,針對于火車票的交易數據而言,如何將不同地域的車票、車次信息劃歸為不同的數據庫服務器來執行,確保在數據交易上的廣域可并行性;  對于12306系統,筆者建議最好能夠按照列車始發與到達站的地域性進行垂直切割,而交易數據按照時間來進行橫向水平擴展形成不同的子數據庫,同時通過中間的緩存服務器、索引服務器、集成服務器將不同的數據進行地整合過來,提供給前端的應用服務器,因此從系統架構上來看這個結構圖形如下   3. 原型驗證階段 針對系統的原型設計,需要針對相應的子系統來驗證原型的技術穩定性與成熟度。省略部分?! ∽栽┢?,12306網站就處于半死不活的狀態?!扒霸L問用戶過多,請稍后重試!”這是大量用戶會碰上的無法登錄;還有不少用戶登錄之后,卻無法打開二級、三級頁面,只有在不停地刷新;一些幸運的用戶登錄后成功付款,但卻功虧一簣,卻無法買票了?! τ凇案犊畛晒s無法購票”的情況,12306官網表示,“這是由于網絡等原因導致銀行的支付結果數據沒有及時回傳至12306網站?!薄 《晃粡氖潞娇针娮涌推睒I務的人士認為,這是12306網站的系統與銀行的支付系統連接不順暢,12306無法及時響應銀行?! ∈聦嵣?,“付款成功卻無法購票”的現象也可能是由網絡購票的時限造成的。鐵道部規定,網絡購票需要在30分鐘內完成,如果超時,就會重新返回售票系統,造成票沒買上而錢被扣除的現象?!? 目前,12306網站只支持工商銀行、中國農業銀行、中國銀行、招商銀行和銀聯的網上銀行功能,不支持第三方支付公司?!爸Ц斗绞教倭?,很多用戶事先 并不知道只能使用4家銀行的網銀?!币晃贿M行過網絡購票的人士表示,這會讓很多用戶花費很多時間來支付,最終卻無功而返?! ∶鎸@樣的情況,鐵道部將網絡購票的支付時限延長至45分鐘。但這一招無異于“飲鴆止渴”。前文所述的專業人士對此表示,支付時間過長,會極大影響網站的安全性,給黑客與釣魚網站以可乘之機?! ∏拔膹氖码娮涌推钡娜耸扛嬖V記者,為了保證支付的安全性,網絡支付有較強的時間限制。在一般情況下,提交訂單15分鐘內必須完成付款,否則訂單取消。一般來說,從下單、支付到出票,最多在10分鐘以內就可以完成了?!  耙晃挥脩舸粼诰W站上的時間就需要幾十分鐘,這會讓網站變得越來越擁擠?!币晃籌T運維技術工程師告訴記者,網站對每位用戶的需求響應慢,那么用戶從登錄到退出登錄的時間就需要更長,這樣的惡性循環會讓網站變得越來越不堪重負?! o力承受的高流量  1月3日,12306網站公布了“互聯網購票起售時間”,每天分別在8點、10點、12點和15點放票。但這一舉措更激化了網站與用戶的“矛盾”?!  斑@樣的定點放票會形成秒殺的效果。開始放票的1分鐘之內,訪問量會劇增,形成一個個高峰?!鼻拔乃龅暮娇针娮涌推比耸空f道,高峰時,服務器需要交互的響應量成幾何級數增長?!  ?2306系統癱瘓在所難免?!币晃籆DN(內容分發網絡)行業人士認為,從需求層面來說,火車票是剛性需求,不比購物。用戶買不到票就會不停地刷新,“今天買不到,明天再繼續”,需求得不到滿足的用戶會持續聚集在網站上,這會帶來連續的“峰值”?! F路部門的預計,從1月8日到2月16日,春運期間鐵路將發送旅客2.35億人次,同比增加1352萬,日均達到588萬人次,但目前鐵路的春運客運能力僅為382萬。這意味著每天有200萬人次的缺口?!? 1月5日,本報記者查詢了Alexa排名,數據顯示,近一周,12306網站的“一周平均排名”為339,日均IP為194萬(每一個IP有可能是好幾 個人訪問)。而國內航空網絡售票網站“travelsky。com”的“一周平均排名”為11340,日均IP為8萬多。相比之下,火車票的需求遠大于機 票?! ∫晃籆DN技術工程師告訴記者,從行業經驗來看,春運期間,12306的并發量(同時在線訪問量)達到 1GB(1GB=1024MB,1MB=1024KB,1KB=1024字節),而一般來說,每個人一次性訪問只需要花費2KB左右,有時候甚至只有幾個 字節。這意味著峰值時,12306網站的同時在線訪問人數高達500多萬?! ∵@位技術工程師舉例道,網上足球直播的視頻的并發量達到幾十 GB,但由于傳遞的都是靜態的內容,視頻網站服務器需要的“處理能力”只是幾十MB。但是,12306網站交互的是動態信息(查詢、定票),所有的訪問請 求最終都需要12306網站的服務器作出響應,1GB就需要網站服務器擁有處理1GB訪問的能力?! ∫晃淮笮图瘓F企業的CIO(首席信息官)根據其多年的工作經驗判斷,此次12306網站癱瘓是系統架構規劃的問題,導致不能有效支持大并發量集中訪問。同時,12306在IT管理上也有問題,未能進行有效的壓力測試和運行模擬?! ≈赜草p軟  據了解,12306網站于2011年6月1日正式上線,到春運也不過半年時間?!  ?2306網站只是在高鐵、動車上進行嘗試,之前并沒有遇到春節這樣巨大訪問量的經驗。不僅沒有做過模擬,并且一上來就是全國性的訪問,系統癱瘓在意料之中?!币晃恍袠I人士說。他告訴記者,電信、金融等行業上新的大規模系統時,在壓力測試之外都會進行區域試點?! ?2306的官方網站顯示,該網站是鐵道部信息中心和中國鐵道科學研究院共同開發的。據鐵道部信息中心的一位技術人員透露,12306網站的研發與運維已經單獨成為了一個機構,歸屬于鐵道部信息中心管理?! I內人士透露,12306網站是由鐵道科學研究院電子所負責開發和維護。鐵科院是鐵道部下屬企業,電子所是鐵科院下屬單位,該所還負責鐵路售票系統的開發和維護。鐵路行業,純粹的軟件并不受重視,基建、大型裝備和各種硬件等“賺錢”、看得見的設備鋪天蓋地?!  耙坑布韺崿F軟件的價值,這種思路使得鐵道部的IT技術實力很難得到提升?!鄙鲜鲂袠I人士表示?! ∧壳拌F路行業還沒有民營的系統集成商也可以側面印證鐵路行業IT技術落后。在IT技術比較發達的電信、金融行業,國內就存在多家系統集成商。電信行業有亞信聯創、億陽信通、聯信永益等。金融行業有恒生電子、浙大網新、金證股份、中聯集團等?! ∧壳?,鐵路行業的IT系統往往是鐵道部信息中心、鐵路科學研究院等鐵道部旗下的事業單位、下屬公司等承包研發,并運維。目前,只有太極股份、網宿科技等公司摸到鐵路IT的邊緣?!? 根據太極股份的2011年半年報,2011年上半年,“太極簽訂了鐵道部互聯網售票系統項目”(互聯網售票指的是12306網站)。對此,太極股份相關 負責人表示,太極只負責12306網站的硬件集成,對于操作系統、數據庫、中間件、軟件的實施都不負責,網站的運維也不負責?! ×頁嚓P資料顯示,網宿科技為12306網站提供CDN加速服務。12306此次癱瘓與該公司技術是否有關,截至發稿,記者未能聯系上網宿科技相關人士?!  ?2306網站癱瘓,與CDN分發并無太大關系?!鄙鲜鯟DN技術工程師告訴記者, 1GB帶寬的分發沒有任何問題?!  白钪匾氖菍浖到y架構進行優化設計,使其能支撐大并發量的交易,并支持平滑升級。這需要在優秀的系統架構師的主導下進行。軟件系統架構合理后,才能通過增加硬件和帶寬的方法,提升響應速度?!鼻拔乃龅拇笮图瘓F企業CIO建議?! ∫晃粯I內人士建議,只要12306將售票系統的數據接口對外開放,不少技術高的IT企業都會趁勢接入,很快成熟的系統就可以建立,而再運營一段時間,那么,12306網站將不會發生大規模癱瘓?! ∧壳?,和中航信的travelsky系統將機票銷售的數據接口對外開放,無論是攜程、易龍等互聯網OTA,還是傳統的機票代售點等網站,都可以幫助銷售機票,而企業商最終接入的還是中航信的travelsky。.
關 鍵 詞:
分析 12306 網站 問題 鐵路 博文 一篇
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一篇對12306鐵路網站問題分析的博文.doc
鏈接地址: http://www.476824.live/p-51461543.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 东京1.5分彩必中计划 急速赛车单机 福建体彩11选5近500期 股票推荐000977 江西11选5在哪看直播 体彩综合走势综合版 什么是股票融资 江西11选五正规吗 陕西快乐十分钟 大乐透走势图完整版