技術(shù)宅
探訪幕后英雄 ?認(rèn)識網(wǎng)站高性能服務(wù)器
任何一個網(wǎng)站都需要服務(wù)器的支持,服務(wù)器是用戶訪問網(wǎng)站網(wǎng)絡(luò)的節(jié)點,它存儲網(wǎng)站大部分的數(shù)據(jù)、信息,并對數(shù)據(jù)進(jìn)行高效的處理。舉個形象的例子,如果我們把購物的網(wǎng)民看作是現(xiàn)實生活中超市購物的市民,那么網(wǎng)站服務(wù)器就相當(dāng)于連鎖超市的管理層,它既要統(tǒng)籌全國各個門店的銷售,為顧客創(chuàng)造良好的購物環(huán)境;又要處理全國顧客的購物需求,為購物者提供足量、優(yōu)質(zhì)的商品。
同樣的,網(wǎng)站服務(wù)器(當(dāng)然還需要IT技術(shù)人員的操控)也要擔(dān)當(dāng)起類似的功能,在前臺它要及時響應(yīng)網(wǎng)民的登錄和點擊,后臺則要對網(wǎng)民實際購物進(jìn)行高效處理,如商品的陳列、促銷、結(jié)算、統(tǒng)計等。因此大型購物網(wǎng)站大多使用高性能的服務(wù)器,像淘寶使用的就是世界頂尖的BM Power Systems服務(wù)器(圖1)。
軟硬兼施 ?網(wǎng)站服務(wù)器是怎么保障網(wǎng)購的
根據(jù)統(tǒng)計,今年雙11,在活動開始1分鐘之內(nèi),天貓上有超千萬人同時齊點,開場僅僅74秒,支付寶總成交額就超過1億元,按照每單商品100元計算,這樣支付寶服務(wù)器每秒就要完成14285單的支付(圖2)。
顯然這種高強(qiáng)度、并發(fā)式的海量數(shù)據(jù)是對網(wǎng)站服務(wù)器的嚴(yán)峻考驗。那么在雙11這場網(wǎng)購大戰(zhàn)中,網(wǎng)站服務(wù)器怎么保障大家的網(wǎng)購?這里主要從硬件、軟件兩方面進(jìn)行分析。
首先在硬件方面,網(wǎng)站服務(wù)器的配置都比較高端。這里以IBM Power Systems S822L服務(wù)器為例,這款服務(wù)器CPU由12核3.02GHz的POWER 8處理器組成,總計96個線程(每核芯512KB二級高速緩存、8MB三級高速緩存、16MB四級高速緩存),內(nèi)存最大為64GB(1600MHz DDR3)。
大家知道,緩存大小是CPU的重要指標(biāo)之一,而且緩存的結(jié)構(gòu)和大小對CPU速度的影響非常大。CPU緩存是位于CPU與內(nèi)存之間的臨時存儲器,它的容量雖然比內(nèi)存小,但是交換速度卻比內(nèi)存要快得多。在CPU調(diào)用大量數(shù)據(jù)時,CPU緩存越大就可避開內(nèi)存直接從緩存中調(diào)用,從而加快讀取速度,大大提高CPU的計算效率,特別是在針對雙11這種突發(fā)性、高強(qiáng)度海量數(shù)據(jù)的讀取時,CPU緩存起到了極其重要的作用(圖3)。
因此,僅從硬件角度來看,單臺服務(wù)器的配置就非常“高大上”,而且這些服務(wù)器都是針對大數(shù)據(jù)工作負(fù)載優(yōu)化過,更何況類似淘寶這樣的網(wǎng)站是數(shù)千臺這樣高性能服務(wù)器組成的集群,這樣從硬件上就保證服務(wù)器有足夠強(qiáng)悍的計算吞吐能力(圖4)。
其次在軟件上,大型購物網(wǎng)站服務(wù)器的數(shù)據(jù)庫普遍使用數(shù)據(jù)鏡像方式進(jìn)行并行計算。如上所述,大型網(wǎng)站服務(wù)器是一個服務(wù)器集群,服務(wù)器數(shù)據(jù)庫使用鏡像方式來并行處理用戶的訪問。數(shù)據(jù)鏡像就是將數(shù)據(jù)處理分發(fā)到多個鏡像服務(wù)器同時處理(圖5),如果把雙11比作農(nóng)村婚宴,服務(wù)器就像是做菜的鍋,網(wǎng)友就像是要參加婚宴的親朋好友,因為來的客人很多,我們要準(zhǔn)備很多的鍋(服務(wù)器)同時煮菜(并行處理),這樣才可以快速為每桌上好婚宴的飯菜。
網(wǎng)站服務(wù)器使用數(shù)據(jù)鏡像方式既可以做好負(fù)載均衡,同時又保證了數(shù)據(jù)的一致性(并行鏡像服務(wù)器使用同一數(shù)據(jù)庫),而且還有高可用性,即使某臺服務(wù)器掛了,其他鏡像服務(wù)器仍可以提供同樣的服務(wù)。
面對移動終端挑戰(zhàn) ?網(wǎng)站服務(wù)器移動優(yōu)化措施
隨著移動購物的興起,現(xiàn)在購物網(wǎng)站服務(wù)器還要針對移動端發(fā)起的購物請求做出優(yōu)化。2014年雙11的活動開始以來,淘寶消費(fèi)者在移動端訪問雙11會場的流量幾乎達(dá)到了PC端的兩倍。
由于移動端網(wǎng)絡(luò)不穩(wěn)定性和終端多樣性,為了確保移動交易完成,一方面購物網(wǎng)站服務(wù)器要結(jié)合移動終端特點(如手機(jī)屏幕小、配置較低、移動網(wǎng)絡(luò)網(wǎng)速慢)進(jìn)行優(yōu)化,對網(wǎng)頁進(jìn)行瘦身,實行按需加載、內(nèi)存精簡等優(yōu)化項目,確保移動端訪問更高效。另一方面則要對常見的終端進(jìn)行適配,在服務(wù)器要保存足夠的適配頁面,確保大多數(shù)的移動終端都可以正常訪問購物頁面(圖6)。
除此之外,網(wǎng)站服務(wù)器還會用到各種大數(shù)據(jù)處理技術(shù)以保障用戶網(wǎng)購可以順利完成。如異構(gòu)計算技術(shù)(使用服務(wù)器CPU和GPU協(xié)同計算,提高服務(wù)器整體計算能力)、批量處理技術(shù)(把一堆基本相同的請求批量處理,如大家同時購買同一個商品,服務(wù)器在后臺收集到一定數(shù)量的請求后一次性完成操作)、異步技術(shù)(即收集請求,然后延時處理,如網(wǎng)友在同一時間提交支付請求,如果達(dá)到服務(wù)器上限,服務(wù)器就會自動將請求進(jìn)行排隊以減輕服務(wù)器的壓力)等,來盡可能保證用戶的網(wǎng)購可以在最短時間內(nèi)完成,同時又不會讓服務(wù)器宕機(jī)。
總之,正是這些幕后強(qiáng)大的技術(shù)支持,才確保了我們網(wǎng)購時的痛快淋漓。