2014年春運(yùn)售票開始后,雖然網(wǎng)友們對(duì)12306的批評(píng)聲不斷,但是我們也看到相比往年,12306的表現(xiàn)也可謂不俗。那么相比往年,12306在技術(shù)上取得了什么進(jìn)步呢?什么技術(shù)這么強(qiáng)大,能解決突發(fā)流量引起的問(wèn)題呢?讓我們帶著問(wèn)題來(lái)讀一讀吧。
分布式集群內(nèi)存技術(shù),提速75倍
中國(guó)鐵路售票網(wǎng)有如此良好的表現(xiàn),主要是采取了X86服務(wù)器集群技術(shù),以Linux 服務(wù)器集群取代了之前的UNIX/小型機(jī)架構(gòu),并采用GemFire分布式集群內(nèi)存技術(shù),形成強(qiáng)有力的實(shí)時(shí)訂單處理能力。其原理是通過(guò)云計(jì)算平臺(tái)虛擬化將若干X86服務(wù)器的內(nèi)存集中起來(lái),組成最高可達(dá)幾十TB的內(nèi)存資源池,利用分布式內(nèi)存數(shù)據(jù)技術(shù),將全部數(shù)據(jù)加載到內(nèi)存中,在內(nèi)存中進(jìn)行計(jì)算。由于計(jì)算過(guò)程本身不需要讀寫磁盤,所以能夠形成極速運(yùn)算能力。
從小型機(jī)到大內(nèi)存X86服務(wù)器集群,從技術(shù)上看就意味著一下跨越三代,不僅成本也要低得多,而且讓性能提升了一個(gè)數(shù)量級(jí)。根據(jù)系統(tǒng)運(yùn)行數(shù)據(jù)記錄顯示,鐵路訂票系統(tǒng)改造之后,整個(gè)系統(tǒng)效率顯著提高。現(xiàn)在只用十幾臺(tái)X86服務(wù)器實(shí)現(xiàn)了以前數(shù)十臺(tái)小型機(jī)的余票計(jì)算和查詢能力。以訂單查詢系統(tǒng)為例,在改造之前的運(yùn)行模式下,每秒只能支持300-400個(gè)查詢/秒的吞吐量,高流量的并發(fā)查詢只能通過(guò)分庫(kù)來(lái)實(shí)現(xiàn)。改造之后可以實(shí)現(xiàn)高達(dá)上萬(wàn)個(gè)查詢/秒的吞吐量,而且查詢速度可以保障在20毫秒左右。這樣單次查詢的最長(zhǎng)時(shí)間從之前的15秒左右下降到0.2秒以下,縮短了75倍以上。
高性能X86服務(wù)器,性能的保障
技術(shù)人士表示,鐵路訂票系統(tǒng)升級(jí)的關(guān)鍵是X86服務(wù)器集群技術(shù),X86服務(wù)的優(yōu)良表現(xiàn)是中國(guó)鐵路售票系統(tǒng)完美運(yùn)行的基礎(chǔ)。據(jù)介紹,中國(guó)鐵路售票網(wǎng)這樣的實(shí)時(shí)交易網(wǎng)站其主要由前端Web服務(wù)器、中間應(yīng)用服務(wù)器、后端數(shù)據(jù)庫(kù)服務(wù)器組成。技術(shù)專家認(rèn)為,此次中國(guó)鐵路售票網(wǎng)通過(guò)X86集群技術(shù)取代小型機(jī)是一項(xiàng)技術(shù)上的巨大提升,升級(jí)之后使全天售票能力從最初設(shè)計(jì)時(shí)的每天100萬(wàn)張,上升到現(xiàn)在的800萬(wàn)張,今年最高實(shí)際售票額達(dá)到每天501萬(wàn)張。
D1Net觀點(diǎn):高性能的機(jī)器只能解決12306的訪問(wèn)速度和卡死等問(wèn)題,不能解決根本的問(wèn)題-缺票。如果不能解決票源問(wèn)題,再?gòu)?qiáng)大的技術(shù)也只能是幾家歡喜幾家愁,不能做到讓每一個(gè)人都順利回家。當(dāng)然我們也希望技術(shù)的發(fā)展能給我們帶來(lái)更好的體驗(yàn)。