足球半全场负胜是什么意思 足彩半全场胜负是什么意思 足球半全场盈利 半全场平负什么意思 足彩半全场怎么研究 竞彩半全场4串1 半全场胜单关过关 竞猜足彩半全场 半全场可以单场吗 6场半全场投注技巧 足彩半全场怎么玩 买的半全场胜负 半全场奖金怎么算 竞彩半全场奖金计算 半全场胜胜怎么选
云計算

  |  手機版

收藏網站

投稿QQ:1745232315

IT專家網,匯聚專業聲音 解析IT潮流 IT專家網,匯聚專業聲音 解析IT潮流

網絡

12306:分布式內存數據技術為查詢提速75倍

作者:IT專家網出處:IT專家網2013-12-27 17:10

  背景和需求

  中國鐵路客戶服務中心網站(www.12306.cn)是世界規模最大的實時交易系統之一,媲美Amazon.com,節假日尤其是春節的訪問高峰,網站壓力巨大。據統計, 在2012年初的春運高峰期間,每天有2000萬人訪問該網站,日點擊量最高達到14億。大量同時涌入的網絡訪問造成12306幾近癱瘓。 中國鐵道科學院電子計算技術研究所作為12306互聯網購票系統的承建單位,急需尋求辦法解決問題。

  成功解決:速度提高75倍以上

  2012年3月開始,鐵路總公司(原鐵道部)開始調研、改造12306。2012年6月選擇了Pivotal GemFire分布式內存計算平臺(Distributed In-memory computing)改造12306,由鐵科院項目小組負責人王明哲主任和資拓宏宇(IISI)信息科技有限公司在鐵科院主管朱建生所長領導下提供技術實施。一期先改造12306的主要瓶頸——余票查詢系統。9月份完成代碼改造,系統上線。2012年國慶,又是網上訂票高峰期間,大家可以顯著發現,可以登錄12306,雖然還是很難訂票,但是查詢余票很快。2012年10月份,二期用GemFire改造訂單查詢系統(客戶查詢自己的訂單記錄)。2013年春節,又是網上訂票高峰期間,大家可以顯著發現,可以登錄12306,雖然還是很難訂票,但是查詢余票很快,而且查詢自己的訂票和下訂單也很快。

  根據系統運行數據記錄,技術改造之后,在只采用10幾臺X86服務器實現了以前數十臺小型機的余票計算和查詢能力,單次查詢的最長時間從之前的15秒左右下降到0.2秒以下,縮短了75倍以上。2012年春運的極端高流量并發情況下,系統幾近癱瘓。而在改造之后,支持每秒上萬次的并發查詢,高峰期間達到2.6萬個查詢/秒吞吐量,整個系統效率顯著提高。如上圖所示。

  訂單查詢系統改造,在改造之前的系統運行模式下,每秒只能支持300-400個查詢/秒的吞吐量,高流量的并發查詢只能通過分庫來實現。改造之后,可以實現高達上萬個查詢/秒的吞吐量,而且查詢速度可以保障在20毫秒左右。

  新的技術架構可以按需彈性動態擴展,并發量增加時,還可以通過動態增加X86服務器來應對,保持毫秒級的響應時間。

  夢里尋它:技術革命一步跨越三代

  12306能夠取得這樣翻天覆地的效果,靠技術上的小修小補是不可能的,必須有全新的思路,能夠給性能提升帶來杠桿式的作用。12306發現GemFire分布式內存數據平臺就是這樣一種技術。

  GemFire分布式內存數據平臺的技術原理如上圖所示:通過云計算平臺虛擬化技術,將若干X86服務器的內存集中起來,組成最高可達數十TB的內存資源池,將全部數據加載到內存中,進行內存計算。計算過程本身不需要讀寫磁盤,只是定期將數據同步或異步方式寫到磁盤。GemFire在分布式集群中保存了多份數據,任何一臺機器故障,其它機器上還有備份數據,因此通常不用擔心數據丟失,而且有磁盤數據作為備份。GemFire支持把內存數據持久化到各種傳統的關系數據庫、Hadoop庫和其它文件系統中。

  大家知道,當前計算架構的瓶頸在存儲,處理器的速度按照摩爾定律翻番增長,而磁盤存儲的速度增長很緩慢,由此造成巨大高達10萬倍的差距(如上圖)。這樣就很好理解GemFire為什么能夠大幅提高系統性能了。

  按照計算與存儲的關系,我們可以將計算架構分為四代:

  第一代,基于磁盤的單一系統:計算過程中需要從磁盤讀取數據。小型機、大型機是其中的佼佼者,將單一系統的性能做到極致。

  第二代,基于磁盤的分布式集群系統:計算過程中需要從磁盤讀取數據,但通過分布系統將數據分散到不同的服務器磁盤上,提高整個系統的處理能力。目前很多大型互聯網和電子商務公司采用基于X86服務器的分布式集群系統,依靠海量的X86服務器部署解決高流量并發的問題。

  第三代,基于內存的單一系統:將整個數據庫放在內存中,計算過程不需要從磁盤讀取數據。整個系統的性能取決于單一系統的性能。傳統的內存數據庫就是這樣的系統,對于企業級的應用可以很好地解決訪問速度的問題,但面對海量數據或是海量并發訪問的擴展性問題就無能為力。

  第四代,基于內存的分布式集群系統:GemFire就是這樣的系統,并行計算是其關鍵技術之一,因而可以通過增加服務器部署規模,在內存計算的基礎上,線性擴展性能。

  12306之前采用Unix小型機架構,采用GemFire技術改造成Linux/X86服務器集群架構,就意味著一下跨越三代。從小型機到大內存X86服務器集群,不僅讓性能提升了一個數量級,而且成本也要低得多。

  GemFire是Pivotal企業級大數據PaaS平臺的一部分。Pivotal公司的企業級大數據PaaS平臺主要有三個層次:云基礎架構層Cloud Fabric、大數據基礎架構層Data Fabric、應用開發基礎架構層Application Fabric。GemFire屬于大數據基礎架構層,此外,Greenplum數據庫也屬于這一層;云基礎架構層的技術是Cloud Foundry;應用開發基礎架構層的技術是Spring Framework和RabbitMQ等。

  對于此次引入GemFire技術的改造,中國鐵道科學研究院電子計算技術研究所副所長朱建生表示:“通過技術改造解決了困擾我們多時的尖峰高流量并發問題,讓全國人民不再因為技術原因而抱怨,我們終于舒了一口氣。Pivotal GemFire分布式集群內存數據技術對整個技術改造發揮了關鍵的作用。同時,感謝Pivotal公司及其實施方項目團隊的努力,在技術開改造過程中確保舊系統順暢運行、舊系統到新系統平滑遷移,快速實現新系統的上線。”


 

相關文章

關鍵詞:12306,分布式內存數據平臺,Pivotal,GemFire,PaaS,大數據,案例

責任編輯:周鉅翔

網警備案
雪缘园半全场比分直播
足球半全场负胜是什么意思 足彩半全场胜负是什么意思 足球半全场盈利 半全场平负什么意思 足彩半全场怎么研究 竞彩半全场4串1 半全场胜单关过关 竞猜足彩半全场 半全场可以单场吗 6场半全场投注技巧 足彩半全场怎么玩 买的半全场胜负 半全场奖金怎么算 竞彩半全场奖金计算 半全场胜胜怎么选
法国佛罗伦萨大教堂 压电竞比分的软件 福建22选5开奖查询结果 新加坡快乐8是什么意思 使命召唤ol鬼服了 浙江麻将下载 最快北京pk10开奖结果 动物猜猜乐语言游戏教案 黄金农场送彩金 西里尔字母手写体 35轮拉齐奥vs尤文图斯 独行侠对火箭直播 雷恩加尔英文 酷搜马戏团怎么玩 七乐彩走势图带坐标连线 香港九龙传真3