




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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è)樸素的理念,就是:“通過加機(jī)器就可以解決容量和可用性問題”。這一理念在“云計(jì)算”概念瘋狂流行的今天,得到了廣泛的認(rèn)可!對(duì)于一個(gè)規(guī)模迅速增長(zhǎng)的系統(tǒng)而言,容量和性能問題當(dāng)然是首當(dāng)其沖的。但是隨著時(shí)間的向前,系統(tǒng)規(guī)模的增長(zhǎng),除了面對(duì)性能與容量的問題外,還需要面對(duì)功能與模塊數(shù)量上的增長(zhǎng)帶來的系統(tǒng)復(fù)雜性問題以及業(yè)務(wù)的變化帶來的提供差異化服務(wù)問題。而許多系統(tǒng),在架構(gòu)設(shè)計(jì)時(shí)并未充分考慮到這些問題,導(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ī)器解決問題”Y軸擴(kuò)展一一關(guān)注應(yīng)用中職責(zé)的劃分,比如數(shù)據(jù)類型,交易執(zhí)行類型的劃分Z軸擴(kuò)展一一關(guān)注服務(wù)和數(shù)據(jù)的優(yōu)先級(jí)劃分,如分地域劃分整個(gè)擴(kuò)展模型,用下圖來表示,其中原點(diǎn)代表完全無擴(kuò)展的狀態(tài)。一.X軸擴(kuò)展X軸擴(kuò)展與我們前面樸素理念是一致的,通過絕對(duì)平等地復(fù)制服務(wù)與數(shù)據(jù),以解決容量和可用性的問題。我們以生產(chǎn)汽車的工廠來舉例:假設(shè)一個(gè)車間能完整的生產(chǎn)一輛汽車,為了短時(shí)間內(nèi)生產(chǎn)更多的汽車,我們可以建設(shè)更多的車間,任何新增車間除了工作的效率可能不同之外,都是一個(gè)新的復(fù)制品,也能提供與原來車間相同的工作,生產(chǎn)出完整的汽車。給復(fù)制品分配工作就是一個(gè)X軸擴(kuò)展的一個(gè)完美示例,說明了X軸擴(kuò)展的思路,即把工作無偏向的分配給復(fù)制品,每個(gè)復(fù)制品在不考慮生產(chǎn)效率的情況下,誰來做這項(xiàng)工作是無偏向的,各個(gè)復(fù)制品之間不共享任何內(nèi)容。而在工程技術(shù)上來講,X軸擴(kuò)展主要有以下兩種技術(shù)方案:1.負(fù)載均衡故名思議,負(fù)載均衡就是將用戶的訪問請(qǐng)求通過負(fù)載均衡器,均衡分配到由各個(gè)“復(fù)制品”組成的集群中去。當(dāng)某個(gè)復(fù)制品出現(xiàn)故障,也能輕易地將相應(yīng)“工作”轉(zhuǎn)移給其它的復(fù)制品來“代為完成”。這中間涉及到的工程技術(shù)點(diǎn)包括了反向代理,DNS輪詢,哈希負(fù)載均衡算法(一致性哈希),動(dòng)態(tài)節(jié)點(diǎn)負(fù)載均衡(如按CPU,I/O)等。它的難點(diǎn)在于要求集群中的“復(fù)制品”是不共享任何內(nèi)容,也就是我們常說的無狀態(tài)。2.數(shù)據(jù)復(fù)制數(shù)據(jù)復(fù)制是指在數(shù)據(jù)存儲(chǔ)層進(jìn)行絕對(duì)平等地?cái)?shù)據(jù)遷移,用于解決存儲(chǔ)層I/O瓶頸以及可用性上的問題。由于存在多個(gè)復(fù)制品存儲(chǔ),為了使得每個(gè)復(fù)制品提供無差異的數(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í)行的類型(或者兩者都有)來劃分工作職責(zé)。一般稱為面向服務(wù)或面向資源的擴(kuò)展。我們?cè)僖陨a(chǎn)汽車的工廠來舉例:如亨利.福特所做的一樣,將汽車制造的工序按專業(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)端用「購買PCffi戶購買汀單管理眼務(wù)商品評(píng)論服務(wù)用戶登PC川戶端登眾毬動(dòng)端用戶餐錄移動(dòng)端用「購買PCffi戶購買汀單管理眼務(wù)商品評(píng)論服務(wù)用戶登錄服務(wù)客戶管理眼務(wù)齒品冃錄服務(wù)但通過觀察上圖容易發(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)來進(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)劃分,并使得劃分出來的子系統(tǒng)是相互隔離但又是完整的。繼續(xù)以生產(chǎn)汽車的工廠來舉例:福特公司為了發(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ù)制一份出來,與普通用戶所使用的系統(tǒng)完全隔離開來;再如,針對(duì)不同的地域用戶,系統(tǒng)自動(dòng)切換到對(duì)應(yīng)地域的子系統(tǒng),為用戶提供服務(wù),都可以認(rèn)為是Z軸擴(kuò)展。同時(shí),在系統(tǒng)的灰度部署上,我們也通常使用Z軸擴(kuò)展來完成。工程領(lǐng)域常見的Z軸擴(kuò)展有以下兩種方案:1?單元化架構(gòu)在分布式服務(wù)設(shè)計(jì)領(lǐng)域,一個(gè)單元(Cell)就是滿足某個(gè)分區(qū)所有業(yè)務(wù)操作的自包含閉環(huán)。如上面我們說到的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)來劃分用戶,那同樣尾號(hào)的那部分用戶就可以認(rèn)為是一個(gè)分區(qū)。數(shù)據(jù)分區(qū)為一般包括以下幾種數(shù)據(jù)劃分的方式:數(shù)據(jù)類型(如:業(yè)務(wù)類型)數(shù)據(jù)范圍(如:時(shí)間段,用戶ID)數(shù)據(jù)熱度(如:用戶活躍度,商品熱度)按讀寫分(如:商品描述,商品庫存)當(dāng)然,數(shù)據(jù)分區(qū)也是有代價(jià)的,它將增加數(shù)據(jù)運(yùn)維的難度,關(guān)聯(lián)搜索的復(fù)雜度增加等??偨Y(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濮陽縣2025年五年級(jí)數(shù)學(xué)第二學(xué)期期末監(jiān)測(cè)模擬試題含答案
- 提升自動(dòng)化水平選擇好的電磁閥解決方案
- 供應(yīng)商選擇與評(píng)估管理制度制度
- 投影水幕設(shè)計(jì)施工方案
- 寧波單層廠房施工方案
- 電力搶修施工方案
- 汽車尾燈資料
- 2025年家居業(yè)務(wù)面試題及答案
- 6個(gè)紅包紙折燈籠的制作方法
- 5年級(jí)下冊(cè)英語單詞第三單元帶讀音朗讀
- 古代漢語課件-副詞
- 采礦學(xué)-I課件第七章-主要開拓巷道類型和位置的選擇
- BCH編碼解讀課件
- 健康講座-線粒體與生命
- 攝像機(jī)基本原理(中文)
- 人員招收、招聘來源及人員穩(wěn)定性保障措施
- 小學(xué)科學(xué)教育科學(xué)三年級(jí)下冊(cè)植物的生長(zhǎng)變化開花了PPT
- 危大工程巡視檢查記錄
- 生育保險(xiǎn)待遇申請(qǐng)表
- 春節(jié)復(fù)工復(fù)產(chǎn)安全交底
- 淺談?dòng)變簣@課程建設(shè)
評(píng)論
0/150
提交評(píng)論