【IT168 專稿】2012年春節,鐵道部推出12306網站,進行網絡實名購票。每個返鄉人原覺得能買着一張回家的火車票,但結果仍是大失所望。7天內,12306網站訪問用戶已佔全球互聯網用戶的0.902%,天天點擊量高達10億人次,系統一度支撐不住如此龐大的訪問量而陷入崩潰,針對12306的責難也不絕於耳。html
對此,中國鐵路客戶服務中心透露,目前,鐵道部已啓動了新一代客票系統的規劃和設計。考慮採用雲計算架構,對現有的客票系統進行全面的優化和改造。對此,IT168採訪了某互聯網公司系統管理員林學謙,針對大型高併發高性能網站架構普遍徵集意見,他爲12306網站提出優化建議,並對更多有須要構建大型高併發高性能網站的用戶提供參考。前端
12306訂票網站存在哪些需求特色和挑戰?數據庫
整體而言,12306訂票系統具備三個明顯的特色:1、高峯時段併發讀寫量巨大; 2、區域請求明顯不均勻;3、數據庫數據量巨大。後端
系統面臨的挑戰和難點:1、如何處理高峯時期的併發讀寫;2、區域性頁面訪問的加速(CDN)部署;3、海量數據的存取速度和災備。服務器
國內的大型網站還包括淘寶、京東、新浪等,您認爲12306的訪問模式和淘寶、京東存在哪些異同?網絡
前端都有CDN,將靜態內容放到這一級,並配合其餘CDN的應用模式;下一級負載均衡應該是DNS,將流量均勻分配到不一樣的IP;再下一級應該是LVS,將訪問請求分發到不一樣的物理服務器,而後再下一層是存儲層。但與12306訂票系統相比,國內的大型網站已經具有了必定技術和管理優點:架構
1、訪問規模壓力,高峯時期不在一個量級;併發
2、有作近路由線路的CDN頁面端的加速處理,用戶訪問產品頁面速度比較快;負載均衡
3、技術研發團隊力量強勁,網羅着一批國內最好的一些技術人才。高併發
從百萬級、到千萬級併發PV的網站,在構架和部署方面會存在哪些差別?以12306爲例,您認爲12306的需求屬於哪一個級別?
12306網站的點擊量屬於千萬pv級別,底層架構上必定要有網絡帶寬的保障,要求前端和庫都有更好的業務承載能力(經過調高服務器配置或增長服務器數量),負載平衡器(前端調度和數據庫負載平衡),有更好的智能業務調度能力來平衡負載,而且在必定程度下要保有必定的冗餘服務器數量,可在業務量增長的狀況下,進行業務集羣承載能力的擴容。
一個大型的高併發高性能網站架構須要從哪些層面去考慮和優化?
要解決性能的問題,有不少種經常使用的方法,如下列舉一類提高性能的方式:
1、服務器配置和環境調優;
2、負載平衡服務器(或硬件或二次開發的);
3、數據庫結構設計;
4、中間件優化;
5、數據讀寫預估;
6、介於前端和數據庫間的類memcache層開發和使用。
部署大型的高併發高性能網站架構須要注意哪些問題?存在哪些挑戰?
一:智能負載平衡的重要性。數據分區能夠在必定程度上減輕負載,可是沒法減輕熱銷商品的負載,對於火車票來講,能夠認爲是大城市的某些主幹線上的車票。這就須要使用數據鏡像來減輕負載。使用數據鏡像,你必然要使用負載均衡,在後端,咱們可能很難使用像路由器上的負載均衡器,由於那是均衡流量的,由於流量並不表明服務器的繁忙程度。所以,咱們須要一個任務分配系統,其還能監控各個服務器的負載狀況。
二:業務機器冗餘的必要性。一方面完美的負載均衡很重要,另外一個靜態的方法的致命缺陷是若是有一臺計算服務器死機了,或是咱們須要加入新的服務器。