服務(wù)器負(fù)載均衡的供需關(guān)系(實(shí)際應(yīng)用案例)
負(fù)載均衡的好處想必各個交易平臺都是有所體會的。面多眾多的訪問者進(jìn)行數(shù)據(jù)的操作,如果沒有一個完善的服務(wù)器負(fù)載均衡方案是不行的。那么,我們現(xiàn)在就來例舉一個實(shí)際的應(yīng)用方案,來認(rèn)識一下,面對大型交易平臺的服務(wù)器負(fù)載均衡方案的設(shè)計思路是如何的。
美國eBay公司是世界上***的網(wǎng)上交易平臺。據(jù)統(tǒng)計,每天有涉及幾千個分類的幾百萬件商品在eBay上銷售;eBay的年增長率達(dá)到50%。但是,和快速增長的業(yè)務(wù)相比,eBay的IT支撐系統(tǒng)的高可用性還相對滯后,其IT系統(tǒng)重構(gòu)規(guī)劃時還確認(rèn)用戶數(shù)據(jù)庫有單點(diǎn)故障(SPOF)。為此,eBay采用了F5公司提供的數(shù)據(jù)庫服務(wù)器負(fù)載均衡解決方案,不僅使數(shù)據(jù)庫可用性達(dá)到99.9%,而且還實(shí)現(xiàn)了在線拓展、高安全和高可管理性,從而解決了eBay的用戶數(shù)據(jù)庫服務(wù)請求的壓力,為其進(jìn)一步的持續(xù)高速發(fā)展鋪平了道路;該方案也為電子商務(wù)以及其他公共服務(wù)行業(yè)類的數(shù)據(jù)庫服務(wù)器負(fù)載均衡,提供了一個***的成功樣板。
需求及挑戰(zhàn)
問題還得從eBay的數(shù)據(jù)庫系統(tǒng)說起,eBay擁有30套生產(chǎn)數(shù)據(jù)庫,全部采用Oracle數(shù)據(jù)庫,其中包括12數(shù)據(jù)庫支持“live"項(xiàng)目(Sun480/4500);1個數(shù)據(jù)庫支持存檔項(xiàng)目(Sun4800);4個數(shù)據(jù)庫支持客戶數(shù)據(jù)(Sun4800);2個數(shù)據(jù)庫支持eBay的反饋系統(tǒng)(Sun480);1個數(shù)據(jù)庫支持非正常的“cache"數(shù)據(jù)(Sun4800);其他的數(shù)據(jù)庫(大部分Sun480class)。同時,采用HitachiSAN建立存儲架構(gòu),建立了兩個遠(yuǎn)程備份數(shù)據(jù)庫,并實(shí)施實(shí)時復(fù)制數(shù)據(jù)到遠(yuǎn)程數(shù)據(jù)庫實(shí)現(xiàn)冗災(zāi),同時每24小時實(shí)施針對數(shù)據(jù)塊的數(shù)據(jù)備份。
因此,通過eBay數(shù)據(jù)庫讀寫的比率分析,可以發(fā)現(xiàn),eBay在數(shù)據(jù)庫提供服務(wù)時,讀和查詢的操作達(dá)到530億次,而數(shù)據(jù)庫寫和更新的操作達(dá)到2億次。“讀和查詢"操作與“寫和更新"的比率達(dá)到265:1。可見查詢和數(shù)據(jù)庫讀的操作給數(shù)據(jù)庫管理系統(tǒng)帶來巨大的壓力。而更為嚴(yán)峻的是,eBay年增長率達(dá)到50%,這意味著,來自讀和查詢的操作壓力將持續(xù)增大,要保證數(shù)據(jù)庫服務(wù)的響應(yīng)能力和效率,穩(wěn)定性和安全性,eBay必須采用數(shù)據(jù)庫服務(wù)器的負(fù)載均衡解決方案。
但是,由于系統(tǒng)龐大,出于投資保護(hù)等考慮,Bay對數(shù)據(jù)庫服務(wù)器的負(fù)載均衡解決方案的需求有如下幾個特點(diǎn):不改變eBay的數(shù)據(jù)庫體系結(jié)構(gòu);可用性目標(biāo)達(dá)到99.9%;需承載eBay每年50%的高成長;簡單管理等等。這意味著在不對系統(tǒng)大動干戈的同時,卻革命性地提高其性能,其挑戰(zhàn)不言而喻。
解決方案
針對eBay數(shù)據(jù)庫服務(wù)器負(fù)載均衡的需求特點(diǎn),eBay考慮了三種主要解決方案。1)將數(shù)據(jù)庫垂直分割,劃分成多層數(shù)據(jù)庫處理,減輕原來單層數(shù)據(jù)庫處理數(shù)據(jù)而形成的瓶頸與可用性問題。但問題:這種方案很難部署,而且也沒有從根本上解決單點(diǎn)故障問題。2)采用OracleOPS/RAC機(jī)群解決方案。問題:要求給便數(shù)據(jù)庫編程代碼,非常難以管理與維護(hù)。3)采用F5與SharePlex聯(lián)合解決方案。其優(yōu)點(diǎn)是:簡單管理,不需要改變整個體系結(jié)構(gòu)。
在最初,eBay采用OracleOPS/RAC解決問題。但是后來經(jīng)過充分論證和探討,最終eBay采用了基于F5/SharePlex的解決方案。F5解決方案是應(yīng)用類似OPS/RAC,但是卻相對簡單的f5的解決方案,不用改變數(shù)據(jù)庫體系結(jié)構(gòu),管理和維護(hù)簡單得多。F5解決方案得主要思路是,通過應(yīng)用將數(shù)據(jù)庫“讀與查詢"的操作與"寫和更新"的操作導(dǎo)向到分開的“邏輯"數(shù)據(jù)庫,這些數(shù)據(jù)庫服務(wù)器都單獨(dú)配備數(shù)據(jù)存儲,而沒有采用共享存儲的方式!這樣,F5應(yīng)用交換機(jī)動態(tài)的將所有的數(shù)據(jù)庫"讀與查詢"請求導(dǎo)向到查詢數(shù)據(jù)庫服務(wù)器群中,并智能負(fù)載均衡到***的數(shù)據(jù)庫服務(wù)器上。所有的"寫和更新"請求都指向到一個單一的數(shù)據(jù)庫服務(wù)器上,由SeharePlex動態(tài)實(shí)時將數(shù)據(jù)記錄復(fù)制到"讀與查詢"數(shù)據(jù)庫服務(wù)器群的數(shù)據(jù)庫中。
這樣,一方面,數(shù)據(jù)庫服務(wù)器群被F5應(yīng)用交換機(jī)虛擬化和集群,變成了一個“池";另一方面,“讀與查詢"的操作,可以根據(jù)需要,選擇更高效率得數(shù)據(jù)庫服務(wù)器,從而使“讀與查詢"的操作壓力得到解決。同時,隨著業(yè)務(wù)的增長,還可以隨時根據(jù)客戶業(yè)務(wù)的壓力在線擴(kuò)展新的服務(wù)器在這個群之中。由于根據(jù)以上分析,數(shù)據(jù)庫讀寫的比例超過260倍,采用這樣的方法,有效解決了數(shù)據(jù)庫性能和高可用性要求。