7.17日,很多用戶都集中在微博吐槽,為什麼,12306火車購票軟體又雙叒叕崩潰了呢,現在不是處於返校期和旅遊旺季,用戶購票需求不是那麼的多,為什麼 一款購票軟體還承載不了用戶的考驗呢?
假如,你是個程式設計師的話,就可以理解12306有多不容易了。
2013年12月,12306剛上線的時候就頻頻出現各種問題,購票出現錯誤,車前無法顯示,搶票界面崩潰,各種各樣的都有,還有一群人鄙視12306,說要組織寫開原始碼秒掉12306,還邀請國際巨頭來搞定12306。
其實中國鐵路客戶服務中心網站12306其實已經是世界上規模最大的實時交易系統之一了,媲美美國的亞馬遜網站。
節奏到2020年,中國目前有1,400,050,000 人口位居世界第一。每年的節假日尤其是春節的訪問高峰,每年中國的鐵路每年輸送人口高達30億人往返,而在春節期間就有13億人通過鐵路交通往返全國各地,可想而知鐵路購票網站壓力巨大。
在2012年6月12306選擇了Pivotal GemFire分布式內存計算平臺(Distributed In-memory computing)改造12306,由鐵科院項目小組負責人王明哲主任和資拓宏宇(IISI)信息科技有限公司在鐵科院主管朱建生所長領導下提供技術實施。
他的要求就是需要每天要面對高達上億人次的服務海量人群,不能系統崩潰,還需要承受可怕的流量,面對無數的攻擊,還要對付大量擼羊毛的人。
其實除了12306,還有其他的購票軟體還是依託在上面,比如號百商旅、飛豬、攜程,這些夠篇軟體其實都是歸屬於其下。這些軟體沒有自己研發購票系統,用戶數據還是產生在12306上面,所以在使用當中很少有用戶反映軟體崩潰的現象。
如果我們的購票軟體沒有強大的技術積累和實踐,面對這種系統,一般程式設計師連增刪改查都搞不定。不服氣你單機select一個100億條數據的數據試試呢。
其實開發12306購票系統遠比淘寶、京東在雙十一難度要大。因為12306上除了1億人買票,還有擼羊毛的機器人線程,2億的並發你試試,而且不是一次性的雙11,有票出來就是雙11,天天雙11。還有大量的分布式數據要同步不出錯。
關鍵是這麼大的數據量,世界上也沒幾個先例可以參考。
現在這個系統居然是基本穩定和可靠的。我反正很服氣。
所以系統偶爾崩潰,我也理解,一旦崩潰,大家也可以理解一下,隨著系統的不斷完善,相信未來這些問題是都可以解決的,每一個系統崩潰,就又是一個個程式設計師和運維的不眠之夜。