下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、分布式系統(tǒng)的架構(gòu)思路一、前言在計(jì)算機(jī)領(lǐng)域,當(dāng)單機(jī)性能達(dá)到瓶頸時(shí),有兩種方式可以解決性能問題,一是堆硬件,進(jìn)一步提升配置,二是分布式,水平擴(kuò)展。當(dāng)然,兩者都是一樣的燒錢。今天聊聊我所理解的分布式系統(tǒng)的架構(gòu)思路。二、分布式系統(tǒng)的兩種方式平時(shí)接觸到的分布式系統(tǒng)有很多種,比如分布式文件系統(tǒng),分布式數(shù)據(jù)庫,分布式WebService,分布式計(jì)算等等,面向的情景不同,但分布式的思路是否是一樣的呢?1.簡(jiǎn)單的例子假設(shè)我們有一臺(tái)服務(wù)器,它可以承擔(dān)1百萬/秒的請(qǐng)求,這個(gè)請(qǐng)求可以的是通過http訪問網(wǎng)頁,通過tcp下載文件,jdbc執(zhí)行sql,RPC調(diào)用接口,現(xiàn)在我們有一條數(shù)據(jù)的請(qǐng)求是2百萬/秒,很顯然服務(wù)器ho
2、ld不住了,會(huì)各種拒絕訪問,甚至崩潰,宕機(jī),怎么辦呢。一臺(tái)機(jī)器解決不了的問題,那就兩臺(tái)。所以我們加一臺(tái)機(jī)器,每臺(tái)承擔(dān)1百萬。如果請(qǐng)求繼續(xù)增加呢,兩臺(tái)解決不了的問題,那就三臺(tái)唄。這種方式我們稱之為水平擴(kuò)展。如何實(shí)現(xiàn)請(qǐng)求的平均分配便是負(fù)載均衡了。另一個(gè)栗子,我們現(xiàn)在有兩個(gè)數(shù)據(jù)請(qǐng)求,數(shù)據(jù)1 90萬,數(shù)據(jù)2 80萬,上面那臺(tái)機(jī)器也hold不住,我們加一臺(tái)機(jī)器來負(fù)載均衡一下,每臺(tái)機(jī)器處理45萬數(shù)據(jù)1和40萬數(shù)據(jù)2,但是平分太麻煩,不如一臺(tái)處理數(shù)據(jù)1,一臺(tái)處理數(shù)據(jù)2,同樣能解決問題,這種方式我們稱之為垂直拆分。水平擴(kuò)展和垂直拆分是分布式架構(gòu)的兩種思路,但并不是一個(gè)二選一的問題,更多的是兼并合用。下面介紹一
3、個(gè)實(shí)際的場(chǎng)景。這也是許多互聯(lián)網(wǎng)的公司架構(gòu)思路。2.實(shí)際的例子我此時(shí)所在的公司的計(jì)算機(jī)系統(tǒng)很龐大,自然是一個(gè)整的分布式系統(tǒng),為了方便組織管理,公司將整個(gè)技術(shù)部按業(yè)務(wù)和平臺(tái)拆分為部門,訂單的,會(huì)員的,商家的等等,每個(gè)部門有自己的web服務(wù)器集群,數(shù)據(jù)庫服務(wù)器集群,通過同一個(gè)網(wǎng)站訪問的鏈接可能來自于不同的服務(wù)器和數(shù)據(jù)庫,對(duì)網(wǎng)站及底層對(duì)數(shù)據(jù)庫的訪問被分配到了不同的服務(wù)器集群,這個(gè)便是典型的按業(yè)務(wù)做的垂直拆分,每個(gè)部門的服務(wù)器在hold不住時(shí),會(huì)有彈性的擴(kuò)展,這便是水平擴(kuò)展。在數(shù)據(jù)庫層,有些表非常大,數(shù)據(jù)量在億級(jí),如果只是純粹的水平的擴(kuò)展并不一定最好,如果對(duì)表進(jìn)行拆分,比如可以按用戶id進(jìn)行水平拆表,通
4、過對(duì)id取模的方式,將用戶劃分到多張表中,同時(shí)這些表也可以處在不同的服務(wù)器。按業(yè)務(wù)的垂直拆庫和按用戶水平拆表是分布式數(shù)據(jù)庫中通用的解決方案。三、負(fù)載均衡前面我們談到了分布式來解決性能問題,但其附帶的問題是怎么分布,即如何負(fù)載均衡。這里要解決的問題是當(dāng)客戶端請(qǐng)求時(shí),應(yīng)該讓它請(qǐng)求分布式系統(tǒng)中哪一臺(tái)服務(wù)器,通常的做法是通過一臺(tái)中間服務(wù)器來給客服端分配目標(biāo)服務(wù)器。這里同樣拿兩個(gè)不同的分布式系統(tǒng)做說明,下圖左邊是分布式文件系統(tǒng)FastDFS,右邊是一個(gè)用于分布式的RPC中間件。 FastDFS的一次文件下載請(qǐng)求過程是這樣的1.client詢問tracker可以下載指定文件的storage;2.track
5、er返回一臺(tái)可用的storage;3.client直接和storage通信完成文件下載。其中tracker便是負(fù)載均衡服務(wù)器,storage是存儲(chǔ)文件和處理上傳下載請(qǐng)求的服務(wù)器。 而另一個(gè)RPC中間件Hedwig也是類似的1.client詢問zookeeper哪臺(tái)server可以執(zhí)行請(qǐng)求;2.zookeeper返回一臺(tái)可用server;3.client直接與service完成一次RPC。zookeeper是分布式系統(tǒng)中一個(gè)負(fù)載均衡框架,google的chubby的一個(gè)開源實(shí)現(xiàn),是是Hadoop和Hbase的重要組件。同樣的在http中,常聽說的nginx也是一個(gè)負(fù)載均衡服務(wù)器,它面向的是分布式
6、web服務(wù)器。至于具體的負(fù)載均衡算法輪詢,hash等這里就不深入了。四、同步分布式系統(tǒng)中,解決了負(fù)載均衡的問題后,另外一個(gè)問題就是數(shù)據(jù)的一致性了,這個(gè)就需要通過同步來保障。根據(jù)不同的場(chǎng)景和需求,同步的方式也是有選擇的。在分布式文件系統(tǒng)中,比如商品頁面的圖片,如果進(jìn)行了修改,同步要求并不高,就算有數(shù)秒甚至數(shù)分鐘的延遲都是可以接受的,因?yàn)橐话悴粫?huì)產(chǎn)生損失性的影響,因此可以簡(jiǎn)單的通過文件修改的時(shí)間戳,隔一定時(shí)間掃描同步一次,可以犧牲一致性來提高效率。但銀行中的分布式數(shù)據(jù)庫就不一樣了,一丁點(diǎn)不同步就是無法接受的,甚至可以通過加鎖等犧牲性能的方式來保障完全的一致。在一致性算法中paxos算法是公認(rèn)的最好的算法,chubby、
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中小學(xué)2025年校本課程開發(fā)計(jì)劃書
- 六年級(jí)下冊(cè)信息技術(shù)教學(xué)計(jì)劃
- 開餐飲店流程以及餐飲創(chuàng)業(yè)計(jì)劃書
- 2025銷售部門年度工作計(jì)劃
- 上汽大眾配件計(jì)劃員崗位職責(zé)
- 2025酒店采購部工作計(jì)劃2
- 創(chuàng)先爭(zhēng)優(yōu)活動(dòng)單位工作計(jì)劃
- 2025年1月員工培訓(xùn)工作計(jì)劃例文
- 《型半導(dǎo)體器》課件
- 2020版 滬教版 高中音樂 必修1 音樂鑒賞 上篇《第二單元 絲竹八音》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 北師版七年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考點(diǎn) 清單04 基本平面圖形(12個(gè)考點(diǎn)梳理+題型解讀+提升訓(xùn)練)
- 物流運(yùn)輸雙氧水安全應(yīng)急預(yù)案
- 2025年上半年中科院大連化學(xué)物理研究所金催化研究中心(2302組)招聘1人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 【項(xiàng)目方案】合同能源托管模式下開展校園綜合能源建設(shè)方案-中教能研院
- Pep小學(xué)英語六年級(jí)上冊(cè)教案-全冊(cè)
- 2024粵東西粵北地區(qū)教師全員輪訓(xùn)培訓(xùn)心得總結(jié)
- 服務(wù)類驗(yàn)收單
- 教育信息化2.0時(shí)代教師新技能進(jìn)階智慧樹知到期末考試答案2024年
- 國開2023年春《理工英語3》機(jī)考網(wǎng)考期末復(fù)習(xí)資料參考答案
- 中國古建筑行業(yè)分析報(bào)告
- 蜂產(chǎn)品訂購合同范本
評(píng)論
0/150
提交評(píng)論