您當(dāng)前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

當(dāng)12306走向云端 人們還在為買票發(fā)愁嗎?

2018-02-23 16:15:28   作者:   來源:CTI論壇   評論:0  點擊:


  總的來說,云計算和大數(shù)據(jù)技術(shù)對于傳統(tǒng)業(yè)務(wù)架構(gòu)的顛覆毋庸置疑,而阿里云和12306的牽手也算是一次成功的應(yīng)用。未來,當(dāng)智能化手段更多地賦能于日常生活的方方面面,人們也將受益于這種紅利,最終讓出行變得更加便捷和高效。
  每年的春運都堪比一次人類大遷徙,10年前買回家的票都要搬個小板凳去火車站排隊,如果能買到還算是萬幸,再趕上一些人家住在小山村,還要到大站轉(zhuǎn)乘長途汽車?梢哉f,每次回家都是一次痛與樂并存的體驗。然而隨著科技互聯(lián)網(wǎng)的發(fā)展,12306網(wǎng)上購票系統(tǒng)逐漸走進(jìn)人們的視野,時至今日已經(jīng)成為主流的購票手段之一。
  當(dāng)12306走向云端 人們還在為買票發(fā)愁嗎12306算得上是世界上規(guī)模最大的實時交易系統(tǒng)之一,購票人數(shù)可能達(dá)到數(shù)億級別,意味著放票的時候你可能會同時遭遇上億的競爭對手。此時,網(wǎng)站的處理能力和實際訪問需求難以跟上,直接結(jié)果就是網(wǎng)站打不開或者系統(tǒng)不穩(wěn)定。起初,12306曾想過用分線路分時段的方法進(jìn)行分流,不過效果并不明顯,畢竟用戶不會那么“自覺”的去分批買票。
  乍看之下,12306有點像電商系統(tǒng),車票就是售賣的商品,未出售的車票就是庫存。不過仔細(xì)與淘寶、天貓等電商網(wǎng)站對比之后,就會發(fā)現(xiàn)12306的業(yè)務(wù)屬性要復(fù)雜很多。例如,北京到上海的1461車次一共有30個停靠站,假設(shè)一個人從北京出發(fā),那么他可能選擇廊坊北到上海29個?空咀鳛樽约旱慕K點站,所以單個1461車次,一次座位復(fù)用計算最多涉及30*(30-1)/2=435個商品(SKU)。如果再算上不同類型的車票(臥鋪、硬座和站票),則共有1305種產(chǎn)品。看到了吧,這可不是簡單的庫存疊加,還要結(jié)合一些人性化的因素。
  在去年初的春運期間,12306網(wǎng)站的單次訂票交易平均響應(yīng)時間為0.5秒、網(wǎng)站PV值日均超過400億次,在云端的查詢次數(shù)日均高達(dá)250億次。
  如果要回溯12306的上云之路,還要從2014年說起,那時候12306就開始與阿里云的工程師探討如何把余票查詢系統(tǒng)放到云上。在之后的春運售票期間,12306將75%的余票查詢業(yè)務(wù)切換到了阿里云上。當(dāng)時,主要考慮的是將業(yè)務(wù)系統(tǒng)在前端WEB以滿足高流量、高并發(fā)的需求。同時,云計算資源的伸縮性也能大幅節(jié)省成本支出,而將余票查詢(而非核心系統(tǒng))托管在公有云上,還能避免敏感性資料泄漏,保護(hù)用戶數(shù)據(jù)安全。
  “云化”后的余票查詢系統(tǒng)能夠做到按需獲取所需要的服務(wù)器虛機資源,可以動態(tài)調(diào)整網(wǎng)絡(luò)帶寬,利用這些可擴(kuò)展資源,解決在高流量和高負(fù)載情況下,系統(tǒng)無法快速彈性擴(kuò)展導(dǎo)致的性能瓶頸和系統(tǒng)崩潰。此外,兩地三中心混合云模式提高了12306的災(zāi)備能力。
  兩地三中心混合云
  在子系統(tǒng)上云的一期改造之后,12306開始利用GemFire(Pivotal企業(yè)級大數(shù)據(jù)PaaS平臺的一部分)改造訂單查詢系統(tǒng)。在改造過程中,12306并沒有用傳統(tǒng)的Unix小型機,而是大膽的選擇了x86服務(wù)器,采用10幾臺X86服務(wù)器實現(xiàn)了以前數(shù)十臺小型機的余票計算和查詢能力,單次查詢的最長時間從之前的15秒左右下降到0.2秒以下,縮短了75倍以上。
  Pivotal Gemfire分布式內(nèi)存數(shù)據(jù)平臺是通過云計算平臺技術(shù),將諸多X86服務(wù)器內(nèi)存集中起來,形成一個資源池,然后將全部數(shù)據(jù)加載到這個資源池之中,進(jìn)行內(nèi)存計算。同時,為了提高災(zāi)備能力,Gemfire還在集群中保存了多份數(shù)據(jù),這樣當(dāng)一個機器故障后,并不會影響整個系統(tǒng)的運行,也不會造成數(shù)據(jù)缺失。
  GemFire架構(gòu)12306在經(jīng)過Gemfire改造后,能夠通過客戶業(yè)務(wù)邏輯性和數(shù)據(jù)關(guān)聯(lián)性,將關(guān)聯(lián)性強的數(shù)據(jù)放置到同一個服務(wù)器節(jié)點,進(jìn)而提升系統(tǒng)性能;同時,根據(jù)測試,可以得出結(jié)論,由X86服務(wù)器為基礎(chǔ)搭建的應(yīng)用云平臺可以隨著客戶業(yè)務(wù)增長,增加服務(wù)器數(shù)量,能夠保持系統(tǒng)性能隨著服務(wù)器增加幾乎保持線性增長。
  經(jīng)歷了兩地三中心混合云架構(gòu)應(yīng)用和Pivotal Gemfire改造后,12306達(dá)到每秒至少支持10000 TPS以上,基本滿足高并發(fā)需求。通過GemFire多集群技術(shù),實現(xiàn)多重的高可用性,確保高峰壓力和系統(tǒng)異常的情況下保證業(yè)務(wù)的持續(xù)性。
  隨著數(shù)據(jù)中心計算、網(wǎng)絡(luò)、存儲性能的不斷提升,所承載的業(yè)務(wù)載荷也會隨之增加,公有云的靈活擴(kuò)展優(yōu)勢顯著。不過倒票的黃牛黨也從線上跑到了線上,這就需要云環(huán)境不僅需要強大的基礎(chǔ)支撐,還要有智能化的抵御機制。舉個例子,12306后臺的沖突判別系統(tǒng)可以分析購票行為,包括監(jiān)測異常賬戶、地址遷移、漏洞篩查等,對一些高頻IP進(jìn)行有效處理。
  總的來說,云計算和大數(shù)據(jù)技術(shù)對于傳統(tǒng)業(yè)務(wù)架構(gòu)的顛覆毋庸置疑,而阿里云和12306的牽手也算是一次成功的應(yīng)用。未來,當(dāng)智能化手段更多地賦能于日常生活的方方面面,人們也將受益于這種紅利,最終讓出行變得更加便捷和高效。
【免責(zé)聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

專題