版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
可伸縮性最佳實(shí)踐:來自eBay的經(jīng)驗(yàn)作者RandyShoup譯者郭曉剛發(fā)布于2008年6月12日下午7時(shí)5分社區(qū)架構(gòu)主題設(shè)計(jì),性能和可伸縮性標(biāo)簽eBay分享|在eBay,可伸縮性是我們每天奮力抵抗的一大架構(gòu)壓力。我們所做的每一項(xiàng)架構(gòu)及設(shè)計(jì)決策,身前身后都能看到它的蹤影。當(dāng)我們面對的是全世界數(shù)以億計(jì)的用戶,每天的頁面瀏覽量超過10億,系統(tǒng)中的數(shù)據(jù)量要用皮字節(jié)(1015或250)來計(jì)算——可伸縮性是生死交關(guān)的問題。相關(guān)廠商內(nèi)容百度技術(shù)沙龍第十期報(bào)名:WebApp開發(fā)與應(yīng)用暨2011年技術(shù)趨勢展望QCon全球企業(yè)開發(fā)大會(huì)(北京站),1月31日前7折搶票火熱進(jìn)行中!AdobeFlashBuilder4簡體中文正式版高速下載在一個(gè)可伸縮的架構(gòu)中,資源的消耗應(yīng)該隨負(fù)載線性(或更佳)上升,負(fù)載可由用戶流量、數(shù)據(jù)量等測量。如果說性能衡量的是每一工作單元所需的資源消耗,可伸縮性則是衡量當(dāng)工作單元的數(shù)量或尺寸增加時(shí),資源消耗的變化情況。換句話說,可伸縮性是整個(gè)價(jià)格-性能曲線的形狀,而不是曲線上某一點(diǎn)的取值??缮炜s性有很多側(cè)面——事務(wù)的方面、運(yùn)營的方面、還有開發(fā)的方面。我們在改善一個(gè)Web系統(tǒng)的事務(wù)吞吐量的過程中學(xué)到了很多經(jīng)驗(yàn),本文總結(jié)了其中若干關(guān)鍵的最佳實(shí)踐??赡芎芏嘧罴褜?shí)踐你會(huì)覺得似曾相識(shí),也可能有素未謀面的。這些都是開發(fā)和運(yùn)營eBay網(wǎng)站的眾人的集體經(jīng)驗(yàn)結(jié)晶。最佳實(shí)踐#1:按功能分割相關(guān)的功能部分應(yīng)該合在一起,不相關(guān)的功能部分應(yīng)該分割開來——不管你把它叫做SOA、功能分解還是工程秘訣。而且,不相關(guān)的功能之間耦合程度越松散,就越能靈活地獨(dú)立伸縮其中的一部分。在編碼層次,我們無時(shí)不刻都在運(yùn)用這條原則。JAR文件、包、Bundle等等,都是用來隔離和抽象功能的機(jī)制。在應(yīng)用層次,eBay將不同的功能劃分成幾個(gè)應(yīng)用程序池。銷售功能由一組應(yīng)用服務(wù)器運(yùn)行,投標(biāo)功能由另一組負(fù)責(zé),搜索又是另外一組服務(wù)器。我們把總共約16,000臺(tái)應(yīng)用服務(wù)器分成220個(gè)池。這樣就可以根據(jù)某項(xiàng)功能的資源消耗,單獨(dú)地伸縮其中一個(gè)池。我們也因此得以進(jìn)一步隔離及合理化資源依賴關(guān)系——比如銷售池只需要訪問后臺(tái)資源的一個(gè)相對較小的子集。在數(shù)據(jù)庫層次,我們也采取同樣的做法。eBay沒有無所不包的單一數(shù)據(jù)庫,相反我們有一組數(shù)據(jù)庫主機(jī)存放用戶數(shù)據(jù)、一組存放商品數(shù)據(jù)、一組存放購買數(shù)據(jù)……總共1000個(gè)邏輯數(shù)據(jù)庫分布在400臺(tái)物理主機(jī)上。同樣,這種做法讓我們得以單獨(dú)為某一類數(shù)據(jù)伸縮其數(shù)據(jù)庫設(shè)施。最佳實(shí)踐#2:水平切分按功能分割對我們的幫助很大,但單憑它還不足以得到完全可伸縮的架構(gòu)。即使將功能一一解耦,單項(xiàng)功能的資源需求隨著時(shí)間增長,仍然有可能超出單一系統(tǒng)的能力。我們常常提醒自己,“沒有分割就沒有伸縮”。在單項(xiàng)功能內(nèi)部,我們需要能把工作負(fù)載分解成許多我們有能力駕馭的小單元,讓每個(gè)單元都能維持良好的性能價(jià)格比。這就是水平分割出場的時(shí)候了。在應(yīng)用層次,由于eBay將各種交互都設(shè)計(jì)成無狀態(tài)的,所以水平分割是輕而易舉之事。用標(biāo)準(zhǔn)的負(fù)載均衡服務(wù)器來路由進(jìn)入的流量。所有應(yīng)用服務(wù)器都是均等的,而且任何服務(wù)器都不會(huì)維持事務(wù)性的狀態(tài),因此負(fù)載均衡可以任意選擇應(yīng)用服務(wù)器。如果需要更多處理能力,只需要簡單地增加新的應(yīng)用服務(wù)器。數(shù)據(jù)庫層次的問題比較有挑戰(zhàn)性,原因是數(shù)據(jù)天生就是有狀態(tài)的。我們會(huì)按照主要的訪問路徑對數(shù)據(jù)作水平分割(或稱為“sharding”)。例如用戶數(shù)據(jù)目前被分割到20臺(tái)主機(jī)上,每臺(tái)主機(jī)存放1/20的用戶。隨著用戶數(shù)量的增長,以及每個(gè)用戶的數(shù)據(jù)量增長,我們會(huì)增加更多的主機(jī),將用戶分散到更多的機(jī)器上去。商品數(shù)據(jù)、購買數(shù)據(jù)、帳戶數(shù)據(jù)等等也都用同樣的方式處理。用例不同,我們分割數(shù)據(jù)的方案也不同:有些是對主鍵簡單取模(ID尾數(shù)為1的放到第一臺(tái)主機(jī),尾數(shù)為二的放到下一臺(tái),以此類推),有些是按照ID的區(qū)間分割(1-1M、1-2M等等),有些用一個(gè)查找表,還有些是綜合以上的策略。不過具體的分割方案如何,總的思想是支持?jǐn)?shù)據(jù)分割及重分割的基礎(chǔ)設(shè)施在可伸縮性上遠(yuǎn)比不支持的優(yōu)越。最佳實(shí)踐#3:避免分布式事務(wù)看到這里,你可能在疑惑按功能劃分?jǐn)?shù)據(jù)和水平劃分?jǐn)?shù)據(jù)的實(shí)踐如何滿足事務(wù)要求。畢竟,幾乎任何有意義的操作都要更新一個(gè)以上的實(shí)體——立即就可以舉出用戶和商品的例子。正統(tǒng)的廣為人知的答案是:建立跨資源的分布式事務(wù),用兩WernerVogelsonscalabilityDanPritchettonYouScaledYourWhat?TheComingoftheShardTradingConsistencyforAvailabilityinDistributedArchitecturesEricBrewerontheCAPTheoremSEDA:AnArchitectureforWell-Conditioned,ScalableInternetServices關(guān)于作者RandyShoup是eBay的杰出架構(gòu)師。從2004年起擔(dān)任eBay搜索基礎(chǔ)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)物王國奇遇記觀后感
- 不動(dòng)產(chǎn)抵押貸款合同
- 場地租用合同范本
- 水上樂園行業(yè)保安工作總結(jié)
- 陰道腫瘤疾病經(jīng)濟(jì)負(fù)擔(dān)比較-洞察分析
- 網(wǎng)絡(luò)誹謗法律應(yīng)對-洞察分析
- 急診營養(yǎng)支持在治療中的應(yīng)用計(jì)劃
- 火災(zāi)工程師火災(zāi)安全技術(shù)與預(yù)防
- 新能源電力系統(tǒng)建模與仿真研究-洞察分析
- 網(wǎng)絡(luò)攻擊取證技術(shù)-洞察分析
- 《國有控股上市公司高管薪酬的管控研究》
- 餐飲業(yè)環(huán)境保護(hù)管理方案
- 食品安全分享
- 礦山機(jī)械設(shè)備安全管理制度
- 計(jì)算機(jī)等級考試二級WPS Office高級應(yīng)用與設(shè)計(jì)試題及答案指導(dǎo)(2025年)
- 造價(jià)框架協(xié)議合同范例
- 糖尿病肢端壞疽
- 《創(chuàng)傷失血性休克中國急診專家共識(shí)(2023)》解讀課件
- 小學(xué)六年級數(shù)學(xué)100道題解分?jǐn)?shù)方程
- YY 0838-2021 微波熱凝設(shè)備
- 通信機(jī)房蓄電池放電試驗(yàn)報(bào)告
評論
0/150
提交評論