買著票了嗎您?
又是一年春運到來時,每年的這個時候,大家見面的問候語就從“吃了嗎您?”變成了“買著票了嗎您?”,于是相視苦笑,“¥%#& 的 12306”。春運是這個星球上最大規模的人類遷移活動,每年有長達 40 天的時間里,空運、鐵路、公路齊上陣,運送著數十億人次的旅客。
鐵路系統,更是其中重要一環,歷年鐵路春運數據一覽:
2016 年,鐵路春運 40 天累計發送旅客 3.03 億人次;
2017 年,鐵路春運 40 天累計發送旅客 3.57 億人次;
2018 年,鐵路春運 40 天累計發送旅客 3.8 億人次;
2019 年,鐵路春運預計發送旅客 4 億人次。
12306 春運放票可謂是互聯網史上最無辜的“饑餓營銷”:放票一秒鐘基本就沒票了,掛個攜程、同程、飛豬、智行刷上一星期也未必搶得著一張票,找黃牛、自己寫搶票腳本,八仙過海各顯神通,“洛陽親友如相問,就說我在搶車票”。
于是乎,吃瓜群眾們認為 12306 的系統簡直太爛了,都提前一個月了還買不著票。就像全國有好幾億人想教張小龍做微信一樣,大概也有無數人想教 12306 怎么出票。
于是乎有人問了,12306 的系統能扛住明星并發出軌級別的流量嗎?
我們先來聊聊 12306 的設計原理。
12306 的設計模式
需求分析
服務旅客需求:
在線售票服務需求;
線下配套服務需求。
業務管理需求:
互聯網售票涉及的票額、預售期、售票時間、席別、票種、車次、車站、實名證件類型、網站開放時間、業務辦理時限、允許購票張數、售票收入統計、旅客投訴受理,異常用戶處理等業務。
系統監控需求:
包括對互聯網售票過程中涉及的軟硬件設備進行資源利用、負載等運行狀態的監控,以及對互聯網售票處理速度、購票旅客行為、訂單狀態等進行監控,確保系統安全,穩定、高效運行。
系統結構、功能設計
鐵路互聯網售票相關的系統包括客票系統、12306 網站、互聯網售票業務處理平臺、鐵路電子 支付平臺以及站車無線交互平臺 5 部分。如下圖:
鐵路互聯網售票系統功能如下:
業務流程設計如下:
2012 年春運,由于訪問量超出設計預期, 12306 網站在高峰期出現了頁面打開緩慢、查詢和下單報錯、后臺系統過載等一系列問題。持續的高并發訪問使系統在多個方面出現性能瓶頸,如下圖:
請輸入圖說
在平時,12306 也就是個普通的購票網站。一旦到了春運、黃金周,12306 就是一個全站所有商品都秒殺,所有 SKU 都是動態庫存的存在。
從那以后,鐵路系統的研發團隊就一直在對系統架構、應用功能以及業務規則進行持續優化和改進。與此同時的,則是逐年刷新客流量峰值的春運、黃金周的高并發考驗。
12306 的業務場景到底復雜在哪兒?火車票跟很多票(包括各大電商的商品、機票、演唱會門票等)有不一樣的屬性。比如,從北京到廣州,沿途有多個站點,理論上乘客可以選擇任意 一段區間購票,所以每買一張區間票,可能同時裂變出多張區間票。這個邏輯比大多數電子商務系統要復雜的多。
購票差異還不僅限與此。比如再添加一些更人性化的功能:根據訂票者身份證里的年齡優選上下鋪、優選號等,那么查詢和出票邏輯就更復雜了。
根據官方公布的數字,有人統計了一下:需要數千個 pv,才能出一張票。這個說法并不能得出“出票效率低”的結論,但是恰恰很形象地說明了查詢量的巨大。
12306 的查詢量不同于電商網站的商品查詢,秒殺甚至饑餓營銷搶購不到也就算了,火車票是搶不到也時刻惦記著甚至不惜寫腳本 24 小時不間斷刷新、查詢的東西。
請輸入圖說
上圖是爬蟲流量的目標行業分布圖,可以看到排第一名的是出行行業,而出行行業中近 90% 的爬蟲流量都瞄準了 12306。
“12306 日均頁面瀏覽量達到 556.7 億次,最高峰時頁面瀏覽量達 813.4 億次,1 小時最高點擊量 59.3 億次,平均每秒 164.8 萬次。”
這是加上驗證碼防護以后的數據,被攔在門外的爬蟲流量有多少?不計其數。
上圖是經過多次優化后的 12306 體系架構,可以看出比起前一張圖,無論是系統的復雜程度還是結構的完善程度都有了巨大的提升。即便是這樣,買不到票的人仍然很多。
事實上,像春運這樣大規模的人類遷徙事件,從客觀情況而言,技術只能起到緩解、改善、照顧到大部分人的作用。至于“根治”,需要的不僅是購票系統的技術水平持續提升,更加需要交通運輸行業的持續進化。
12306 能扛得住明星并發出軌級的流量嗎?鐵總:加機器擴容就能解決的事兒,不用來問我。
請輸入圖說
寫在最后普通人罵 12306,是因為他們不懂技術,也沒有耐心去了解這背后的技術難點、業務場景復雜度。他們罵 12306,只是因為他們想回家。
要不我們再黑 12306 一把:如果讓你來設計,你會給 12306 什么樣的解決方案應對春運級別的流量?
新聞排行
圖文播報
科普信息網 - 科普類網站
聯系郵箱:85 572 98@qq.com 備案號: 粵ICP備18023326號-39
版權所有:科普信息網 www.www44bkbkcom.cn copyright © 2018 - 2020
科普信息網版權所有 本站點信息未經允許不得復制或鏡像,違者將被追究法律責任!