




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
詳述可擴(kuò)展架構(gòu)設(shè)計(jì)的三個(gè)維度業(yè)界對(duì)于可擴(kuò)展的系統(tǒng)架構(gòu)設(shè)計(jì)有一個(gè)樸素的理念,就是:“通過(guò)加機(jī)器就可以解決容量和可用性問(wèn)題”。這一理念在“云計(jì)算”概念瘋狂流行的今天,得到了廣泛的認(rèn)可!對(duì)于一個(gè)規(guī)模迅速增長(zhǎng)的系統(tǒng)而言,容量和性能問(wèn)題當(dāng)然是首當(dāng)其沖的。但是隨著時(shí)間的向前,系統(tǒng)規(guī)模的增長(zhǎng),除了面對(duì)性能與容量的問(wèn)題外,還需要面對(duì)功能與模塊數(shù)量上的增長(zhǎng)帶來(lái)的系統(tǒng)復(fù)雜性問(wèn)題以及業(yè)務(wù)的變化帶來(lái)的提供差異化服務(wù)問(wèn)題。而許多系統(tǒng),在架構(gòu)設(shè)計(jì)時(shí)并未充分考慮到這些問(wèn)題,導(dǎo)致系統(tǒng)的重構(gòu)成為常態(tài),從而影響業(yè)務(wù)交付能力,還浪費(fèi)人力財(cái)力!對(duì)此,《可擴(kuò)展的藝術(shù)》一書提出了一個(gè)更加系統(tǒng)的可擴(kuò)展模型——KF可擴(kuò)展立方(ScalabilityCube)。這個(gè)立方體中沿著三個(gè)坐標(biāo)軸設(shè)置分別為:X、Y、Z。X軸擴(kuò)展一一關(guān)注水平的數(shù)據(jù)和服務(wù)克隆,也就是前文提到的“加機(jī)器解決問(wèn)題”Y軸擴(kuò)展一一關(guān)注應(yīng)用中職責(zé)的劃分,比如數(shù)據(jù)類型,交易執(zhí)行類型的劃分Z軸擴(kuò)展一一關(guān)注服務(wù)和數(shù)據(jù)的優(yōu)先級(jí)劃分,如分地域劃分整個(gè)擴(kuò)展模型,用下圖來(lái)表示,其中原點(diǎn)代表完全無(wú)擴(kuò)展的狀態(tài)。一.X軸擴(kuò)展X軸擴(kuò)展與我們前面樸素理念是一致的,通過(guò)絕對(duì)平等地復(fù)制服務(wù)與數(shù)據(jù),以解決容量和可用性的問(wèn)題。我們以生產(chǎn)汽車的工廠來(lái)舉例:假設(shè)一個(gè)車間能完整的生產(chǎn)一輛汽車,為了短時(shí)間內(nèi)生產(chǎn)更多的汽車,我們可以建設(shè)更多的車間,任何新增車間除了工作的效率可能不同之外,都是一個(gè)新的復(fù)制品,也能提供與原來(lái)車間相同的工作,生產(chǎn)出完整的汽車。給復(fù)制品分配工作就是一個(gè)X軸擴(kuò)展的一個(gè)完美示例,說(shuō)明了X軸擴(kuò)展的思路,即把工作無(wú)偏向的分配給復(fù)制品,每個(gè)復(fù)制品在不考慮生產(chǎn)效率的情況下,誰(shuí)來(lái)做這項(xiàng)工作是無(wú)偏向的,各個(gè)復(fù)制品之間不共享任何內(nèi)容。而在工程技術(shù)上來(lái)講,X軸擴(kuò)展主要有以下兩種技術(shù)方案:1.負(fù)載均衡故名思議,負(fù)載均衡就是將用戶的訪問(wèn)請(qǐng)求通過(guò)負(fù)載均衡器,均衡分配到由各個(gè)“復(fù)制品”組成的集群中去。當(dāng)某個(gè)復(fù)制品出現(xiàn)故障,也能輕易地將相應(yīng)“工作”轉(zhuǎn)移給其它的復(fù)制品來(lái)“代為完成”。這中間涉及到的工程技術(shù)點(diǎn)包括了反向代理,DNS輪詢,哈希負(fù)載均衡算法(一致性哈希),動(dòng)態(tài)節(jié)點(diǎn)負(fù)載均衡(如按CPU,I/O)等。它的難點(diǎn)在于要求集群中的“復(fù)制品”是不共享任何內(nèi)容,也就是我們常說(shuō)的無(wú)狀態(tài)。2.數(shù)據(jù)復(fù)制數(shù)據(jù)復(fù)制是指在數(shù)據(jù)存儲(chǔ)層進(jìn)行絕對(duì)平等地?cái)?shù)據(jù)遷移,用于解決存儲(chǔ)層I/O瓶頸以及可用性上的問(wèn)題。由于存在多個(gè)復(fù)制品存儲(chǔ),為了使得每個(gè)復(fù)制品提供無(wú)差異的數(shù)據(jù)服務(wù),我們需要在復(fù)制品之間同步或異步地復(fù)制數(shù)據(jù)。數(shù)據(jù)復(fù)制的方式包括了主從同步(常見的讀/寫分離),雙主同步等。因?yàn)閿?shù)據(jù)存儲(chǔ)天生就是有狀態(tài)的,數(shù)據(jù)復(fù)制的難點(diǎn)在于一致性的保證上,為了一致性的保證,從而也衍生了很多復(fù)雜的技術(shù),比如Paxos選舉算法等。二.Y軸擴(kuò)展Y軸擴(kuò)展表示的是根據(jù)數(shù)據(jù)的類型或者交易執(zhí)行的類型(或者兩者都有)來(lái)劃分工作職責(zé)。一般稱為面向服務(wù)或面向資源的擴(kuò)展。我們?cè)僖陨a(chǎn)汽車的工廠來(lái)舉例:如亨利.福特所做的一樣,將汽車制造的工序按專業(yè)性分成不同車間和流水線,不再是一個(gè)車間負(fù)責(zé)完成100%的任務(wù),制造一輛完整的汽車,而是讓這每個(gè)車間都執(zhí)行一些子任務(wù),如安裝發(fā)動(dòng)機(jī),噴漆,安裝玻璃等等。這樣的分工,益處是明顯的,每個(gè)車間負(fù)責(zé)的任務(wù)更簡(jiǎn)單,從而能更專業(yè)更高效的完成生產(chǎn)。與汽車工廠的分工類似,為了降低系統(tǒng)復(fù)雜度,Y軸擴(kuò)展會(huì)將龐大的整體應(yīng)用拆分為一組服務(wù)。每個(gè)服務(wù)實(shí)現(xiàn)一組相關(guān)的功能,如訂單管理、客戶管理等。在工程上常見的方案是服務(wù)化架構(gòu)(SOA)。比如對(duì)于一個(gè)電子商務(wù)平臺(tái),我們可以拆分成不同的服務(wù),組成下面這樣的架構(gòu):
PC川戶端登眾毬動(dòng)端用戶餐錄移動(dòng)端用「購(gòu)買PCffi戶購(gòu)買汀單管理眼務(wù)商品評(píng)論服務(wù)用戶登PC川戶端登眾毬動(dòng)端用戶餐錄移動(dòng)端用「購(gòu)買PCffi戶購(gòu)買汀單管理眼務(wù)商品評(píng)論服務(wù)用戶登錄服務(wù)客戶管理眼務(wù)齒品冃錄服務(wù)但通過(guò)觀察上圖容易發(fā)現(xiàn),當(dāng)服務(wù)數(shù)量增多時(shí),服務(wù)調(diào)用關(guān)系變得復(fù)雜。為系統(tǒng)添加一個(gè)新功能,要調(diào)用的服務(wù)數(shù)也變得不可控,由此引發(fā)了服務(wù)管理上的混亂。所以,一般情況下,需要采用服務(wù)注冊(cè)的機(jī)制形成服務(wù)網(wǎng)關(guān)來(lái)進(jìn)行服務(wù)治理。系統(tǒng)的架構(gòu)將變成下圖所示:商品目錄服等PCH1H端寮錄移動(dòng)端川戶餐錄PC用戶幽買移動(dòng)端用〃幽買服務(wù)網(wǎng)艾商品目錄服等PCH1H端寮錄移動(dòng)端川戶餐錄PC用戶幽買移動(dòng)端用〃幽買服務(wù)網(wǎng)艾用門登泉服務(wù)訂單供理眼務(wù)商品評(píng)論服務(wù)客戶管理服務(wù)同時(shí),為了提升單個(gè)服務(wù)的可用性和容量,對(duì)每一個(gè)服務(wù)進(jìn)行X軸擴(kuò)展劃分。PC川戶端豐錄移動(dòng)端川戶佯錄訂單皆理服命訂單汗理服務(wù)訂|卩管理眼并霽戶雅理服齊客戶管理服勢(shì)徉戶管加応P(guān)C川戶端豐錄移動(dòng)端川戶佯錄訂單皆理服命訂單汗理服務(wù)訂|卩管理眼并霽戶雅理服齊客戶管理服勢(shì)徉戶管加応用戶登錄厳務(wù)用門住卡服務(wù)用戶董錄服務(wù)商品目殺服務(wù)商品目錄服務(wù)商品目錄I蠱務(wù)訂單箭理服.務(wù)訂單筲理服務(wù)汀單?麗[服蕃三?Z軸擴(kuò)展Z軸擴(kuò)展通常是指基于請(qǐng)求者或用戶獨(dú)特的需求,進(jìn)行系統(tǒng)劃分,并使得劃分出來(lái)的子系統(tǒng)是相互隔離但又是完整的。繼續(xù)以生產(chǎn)汽車的工廠來(lái)舉例:福特公司為了發(fā)展在中國(guó)的業(yè)務(wù),或者利用中國(guó)的廉價(jià)勞動(dòng)力,在中國(guó)建立一個(gè)完整的子工廠,與美國(guó)工廠一樣,負(fù)責(zé)完整的汽車生產(chǎn)。這就是一種Z軸擴(kuò)展。對(duì)于系統(tǒng)而言,Z軸擴(kuò)展一般是為了滿足差異性的需求或者是為了安全隔離而采取的擴(kuò)展措施。比如為了提供VIP用戶服務(wù),可以將系統(tǒng)完整地復(fù)制一份出來(lái),與普通用戶所使用的系統(tǒng)完全隔離開來(lái);再如,針對(duì)不同的地域用戶,系統(tǒng)自動(dòng)切換到對(duì)應(yīng)地域的子系統(tǒng),為用戶提供服務(wù),都可以認(rèn)為是Z軸擴(kuò)展。同時(shí),在系統(tǒng)的灰度部署上,我們也通常使用Z軸擴(kuò)展來(lái)完成。工程領(lǐng)域常見的Z軸擴(kuò)展有以下兩種方案:1?單元化架構(gòu)在分布式服務(wù)設(shè)計(jì)領(lǐng)域,一個(gè)單元(Cell)就是滿足某個(gè)分區(qū)所有業(yè)務(wù)操作的自包含閉環(huán)。如上面我們說(shuō)到的Y軸擴(kuò)展的SOA架構(gòu),客戶端對(duì)服務(wù)端節(jié)點(diǎn)的選擇一般是隨機(jī)的,但是,如果在此加上Z軸擴(kuò)展,那服務(wù)節(jié)點(diǎn)的選擇將不再是隨機(jī)的了,而是每個(gè)單元自成一體。如下圖:用門衽錄服務(wù)商品[【囲眼齊客i管理服芳訂單隋理服務(wù)用戶登錄服務(wù)衙品冃錄服勢(shì)客戶管理服務(wù)訂卩汁理眼務(wù)商品評(píng)論服務(wù)用門衽錄服務(wù)商品[【囲眼齊客i管理服芳訂單隋理服務(wù)用戶登錄服務(wù)衙品冃錄服勢(shì)客戶管理服務(wù)訂卩汁理眼務(wù)商品評(píng)論服務(wù)PC用戶移動(dòng)端用口2.數(shù)據(jù)分區(qū)為了性能數(shù)據(jù)安全上的考慮,我們將一個(gè)完整的數(shù)據(jù)集按一定的維度劃分出不同的子集。一個(gè)分區(qū)(Shard),就是是整體數(shù)據(jù)集的一個(gè)子集。比如用尾號(hào)來(lái)劃分用戶,那同樣尾號(hào)的那部分用戶就可以認(rèn)為是一個(gè)分區(qū)。數(shù)據(jù)分區(qū)為一般包括以下幾種數(shù)據(jù)劃分的方式:數(shù)據(jù)類型(如:業(yè)務(wù)類型)數(shù)據(jù)范圍(如:時(shí)間段,用戶ID)數(shù)據(jù)熱度(如:用戶活躍度,商品熱度)按讀寫分(如:商品描述,商品庫(kù)存)當(dāng)然,數(shù)據(jù)分區(qū)也是有代價(jià)的,它將增加數(shù)據(jù)運(yùn)維的難度,關(guān)聯(lián)搜索的復(fù)雜度增加等。總結(jié):一個(gè)在可擴(kuò)展性上設(shè)計(jì)良好的系統(tǒng),會(huì)充分考慮三個(gè)維度上的可擴(kuò)展性。X軸上擴(kuò)展處理的是平臺(tái)或系統(tǒng)執(zhí)行的交易量或工作量增長(zhǎng),雖然X軸擴(kuò)展能夠很好處理交易量的增長(zhǎng),但當(dāng)系統(tǒng)復(fù)雜度的大幅度增加,或用戶
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 從書中我學(xué)到的議論文(15篇)
- 快樂(lè)成長(zhǎng)的足跡記事作文14篇
- 2025年監(jiān)測(cè)環(huán)境污染的衛(wèi)星系統(tǒng)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年山東聊城市“水城優(yōu)才·事編企用”儲(chǔ)備產(chǎn)業(yè)人才引進(jìn)模擬試卷及答案詳解(易錯(cuò)題)
- 2025廣東省恩平市引進(jìn)各類人才(衛(wèi)生健康系統(tǒng)醫(yī)共體高層次人才和急需緊缺人才專場(chǎng))30人模擬試卷完整答案詳解
- 社區(qū)社會(huì)穩(wěn)定承諾函4篇
- 魔法森林里的童話人物們童話作文4篇范文
- 2025河南新鄉(xiāng)市牧野區(qū)世青學(xué)校招聘模擬試卷有答案詳解
- 2025江蘇蘇州高新區(qū)人力資源開發(fā)有限公司外包服務(wù)崗人員招聘5人模擬試卷及答案詳解(必刷)
- 2025吉林長(zhǎng)春市市直事業(yè)單位招聘高層次人才3人(5號(hào))考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解1套
- 2025年北森潛力測(cè)評(píng)試題及答案
- 2025銀行招聘試題及答案詳解
- 騰訊新員工培訓(xùn)
- 2025年成人高考高升專試題(含答案)
- 實(shí)驗(yàn)室生物安全管理制度完整版
- 層林盡染楓葉紅課件
- 車管所備案申請(qǐng)書
- 河南成人2024學(xué)位英語(yǔ)考試真題及答案
- 2025年淮南市大通區(qū)和壽縣經(jīng)開區(qū)公開招聘社區(qū)“兩委”后備干部30名考試參考試題及答案解析
- 長(zhǎng)期照護(hù)師培訓(xùn)考核試卷及答案
- 醫(yī)院感染監(jiān)測(cè)
評(píng)論
0/150
提交評(píng)論