分布式IT架構(gòu)演進(jìn)_第1頁(yè)
分布式IT架構(gòu)演進(jìn)_第2頁(yè)
分布式IT架構(gòu)演進(jìn)_第3頁(yè)
分布式IT架構(gòu)演進(jìn)_第4頁(yè)
分布式IT架構(gòu)演進(jìn)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 分布式IT架構(gòu)演進(jìn)一、分布式架構(gòu)的發(fā)展歷史1946年,世界上第一臺(tái)電子計(jì)算機(jī)在美國(guó)的賓夕法尼亞大學(xué)誕生,它的名字是:ENICAC ,這臺(tái)計(jì)算機(jī)的體重比較大,計(jì)算速度也不快,但是而代表了計(jì)算機(jī)時(shí)代的到來(lái),再以后的互聯(lián)網(wǎng)的發(fā)展中也有基礎(chǔ)性的意義。計(jì)算機(jī)的組成是有五部分完成的,分別是:輸入設(shè)備,輸出設(shè)備,存儲(chǔ)器,存儲(chǔ)器里面由運(yùn)算器和控制器,有一個(gè)馮諾依曼的模型非常形象的對(duì)象計(jì)算機(jī)的組成進(jìn)行了描述,不過(guò)計(jì)算機(jī)也是有數(shù)據(jù)流,指令流,控制流來(lái)進(jìn)行計(jì)算的和正常運(yùn)轉(zhuǎn)的。如圖: ENIAC之后,電子計(jì)算機(jī)進(jìn)入到了IBM主導(dǎo)的大型機(jī)的時(shí)代, 在1946年第一臺(tái)IBM大型機(jī)SYSTEM/360誕生,這使得IBM在

2、20世紀(jì)5060年代統(tǒng)治了整個(gè)大型計(jì)算機(jī)的工業(yè),在大型主機(jī)時(shí)代,計(jì)算機(jī)架構(gòu)向兩個(gè)方向發(fā)展CISC(微處理器執(zhí)行的計(jì)算機(jī)語(yǔ)言指令集)CPU為架構(gòu)的價(jià)格便宜的個(gè)人PC和RISC(精簡(jiǎn)指令集計(jì)算機(jī))價(jià)格高的小型UNIX服務(wù)器。大型主機(jī)的出現(xiàn),憑借著計(jì)算能力和處理能力,高的穩(wěn)定性和安全性,在很長(zhǎng)的一段時(shí)間內(nèi)引領(lǐng)到計(jì)算領(lǐng)域的發(fā)展。但是集中式的計(jì)算機(jī)系統(tǒng)來(lái)帶來(lái)了一些問(wèn)題,來(lái)越來(lái)越不能滿(mǎn)足用戶(hù)的需求比如說(shuō): 1. 大型的主機(jī)非常貴,一般的小企業(yè)用不起。 2. 大型主機(jī)比較復(fù)雜,培養(yǎng)人才的成本比較高。 3. 單點(diǎn)問(wèn)題,如過(guò)大型機(jī)出現(xiàn)故障,整個(gè)系統(tǒng)都掛了運(yùn)行不了,使企業(yè)的損失非常大。 4. 隨著技術(shù)的進(jìn)步,個(gè)人

3、PC電腦的性能越來(lái)越高,成本也越來(lái)越低。阿里巴巴在2009年發(fā)起了一項(xiàng)去“IOE”的驅(qū)動(dòng)IOE指的是IBM的小型機(jī),Oracle的數(shù)據(jù)庫(kù)和EMC的高端存儲(chǔ)設(shè)備,2009年的去IOE的運(yùn)動(dòng),一直到2003的支付寶的最后一臺(tái)IBM的小型機(jī)的下線(xiàn)。為什么要去IOE阿里巴巴過(guò)去數(shù)據(jù)庫(kù)使用的是Oracle,并使用小型機(jī)和高端存儲(chǔ)設(shè)備提供高性能的數(shù)據(jù)處理和存儲(chǔ)服務(wù)。隨著公司的業(yè)務(wù)量的上升,用戶(hù)規(guī)模的不斷上漲,傳統(tǒng)的集中式的架構(gòu)Oracle數(shù)據(jù)庫(kù)在擴(kuò)展方面遭遇了瓶頸。向傳統(tǒng)的Oracle,DB2都是以集中式的為主,存在的缺點(diǎn)就是擴(kuò)展性的不足,集中式的擴(kuò)展主要是采用的是向上的擴(kuò)展不是水平的擴(kuò)展,這樣時(shí)間長(zhǎng)了,

4、早晚都會(huì)遇到系統(tǒng)瓶頸。二、分布式架構(gòu)的常見(jiàn)概念集群小飯店原來(lái)是一個(gè)廚師,切菜洗菜備料炒菜全干。后來(lái)客人多了,廚房一個(gè)廚師忙不過(guò)來(lái),又請(qǐng)了個(gè)廚師,兩個(gè)廚師都能炒一樣的菜,這兩個(gè)廚師的關(guān)系就是集群。分布式為了讓廚師專(zhuān)心炒菜,把菜做到極致,又請(qǐng)了個(gè)配菜師負(fù)責(zé)切菜,備菜,備料,廚師和配菜師的關(guān)系就是分布式的,一個(gè)配菜師也忙不過(guò)來(lái),有請(qǐng)了個(gè)配菜師,這兩個(gè)配菜師的關(guān)系就是集群了。所以說(shuō)有分布式的架構(gòu)中可能有集群,但集群不等于有分布式。 節(jié)點(diǎn)節(jié)點(diǎn)是指一個(gè)可以獨(dú)立按照分布式協(xié)議完成一組邏輯的程序個(gè)體。在具體的項(xiàng)目中,一個(gè)節(jié)點(diǎn)表示的是一個(gè)操作系統(tǒng)上的進(jìn)程。副本機(jī)制副本指的是在分布式系統(tǒng)中為數(shù)據(jù)或服務(wù)提供冗余。數(shù)

5、據(jù)副本指在不同的節(jié)點(diǎn)上持久化同一份數(shù)據(jù),當(dāng)出現(xiàn)某一個(gè)節(jié)點(diǎn)的數(shù)據(jù)丟失時(shí),可以從副本讀取數(shù)據(jù)。數(shù)據(jù)副本是分布式系統(tǒng)中結(jié)果數(shù)據(jù)丟失的唯一手段。服務(wù)副本表示的是多個(gè)節(jié)點(diǎn)提供相同的服務(wù),通過(guò)主從關(guān)系來(lái)實(shí)現(xiàn)服務(wù)的高可用方案。中間件中間件位與操作系統(tǒng)提供的服務(wù)之外,又不屬于應(yīng)用,它是位與應(yīng)用和系統(tǒng)層之間為開(kāi)發(fā)者方便的處理通信,輸入和輸出的一類(lèi)軟件,能夠讓用戶(hù)關(guān)心自己應(yīng)用的一部分。架構(gòu)的發(fā)展過(guò)程一個(gè)成熟的大型網(wǎng)站系統(tǒng)架構(gòu)并不是一開(kāi)始就設(shè)計(jì)的非常完美的,也不是一開(kāi)始就具備高性能,高可用,安全性等特性,而是隨著用戶(hù)量的增加,業(yè)務(wù)功能的擴(kuò)展慢慢完善演變過(guò)來(lái)的。在這個(gè)發(fā)展過(guò)程中,開(kāi)發(fā)模式,技術(shù)架構(gòu)等都會(huì)發(fā)生非常大的變

6、化。假如系統(tǒng)具備一下功能:用戶(hù)模塊:用戶(hù)注冊(cè)和管理商品模塊:商品展示和管理交易模塊:創(chuàng)建交易及支付結(jié)算階段一:?jiǎn)螒?yīng)用架構(gòu)系統(tǒng)的初級(jí)都是應(yīng)用和數(shù)據(jù)庫(kù)都放在一臺(tái)服務(wù)器上。 階段二:應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器分離隨著網(wǎng)站的用戶(hù)量增大,流量增大,對(duì)應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器單獨(dú)的部署機(jī)器,這樣可以增加系統(tǒng)的性能,提高訪(fǎng)問(wèn)的效率,提高單機(jī)的負(fù)載能力和容災(zāi)的能力。階段三:應(yīng)用服務(wù)器集群-應(yīng)用服務(wù)器負(fù)載告警隨著訪(fǎng)問(wèn)量和流量的增加,假設(shè)數(shù)據(jù)庫(kù)沒(méi)有遇到瓶頸,對(duì)應(yīng)用服務(wù)器集群來(lái)對(duì)請(qǐng)求進(jìn)行分流,提高程序的性能。存在的問(wèn)題:用戶(hù)的請(qǐng)求由誰(shuí)來(lái)轉(zhuǎn)發(fā),session如何來(lái)管理的問(wèn)題。 階段四:數(shù)據(jù)庫(kù)壓力變大-數(shù)據(jù)庫(kù)讀寫(xiě)分離讀寫(xiě)

7、分離的話(huà),這樣以后的請(qǐng)求,查詢(xún)的請(qǐng)求就可以去從庫(kù)里面讀數(shù)據(jù),寫(xiě)的數(shù)據(jù)可以到主庫(kù)中了,但是會(huì)帶來(lái)幾個(gè)問(wèn)題: 1. 主從的數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步:可以使用mysql自帶的master-slave方式實(shí)現(xiàn)主從復(fù)制 2. 對(duì)應(yīng)的數(shù)據(jù)源的選擇:采用第三方數(shù)據(jù)庫(kù)中間件,例如:mycat 階段五:使用搜索引擎緩解讀庫(kù)的壓力數(shù)據(jù)庫(kù)做讀庫(kù)的話(huà),常常對(duì)模糊查詢(xún)的性能不是很好,特別是對(duì)于大型的互聯(lián)網(wǎng)公司來(lái)說(shuō),想搜索的模塊就比較核心了,這是可以使用搜索引擎了,雖然可以大幅度的提高查詢(xún)的速度,但是同時(shí)也會(huì)帶來(lái)一些問(wèn)題比如索引的構(gòu)建。 階段六:引入緩存機(jī)制緩解數(shù)據(jù)庫(kù)的壓力對(duì)一些熱點(diǎn)的數(shù)據(jù),可以使用redis,memcache來(lái)作為應(yīng)用層的緩存;另外在某些場(chǎng)景下,可以使用mongodb來(lái)替代關(guān)系型數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)。階段七:數(shù)據(jù)庫(kù)的水平/垂直拆分垂直拆分:把數(shù)據(jù)庫(kù)中不同的業(yè)務(wù)數(shù)據(jù)拆分到不同的數(shù)據(jù)庫(kù)中。水平拆分:把同一個(gè)表中的數(shù)據(jù)拆分到兩個(gè)甚至更多的數(shù)據(jù)庫(kù)中,水平拆分的原因是某些業(yè)務(wù)量數(shù)據(jù)量大的已經(jīng)達(dá)到了單個(gè)數(shù)據(jù)庫(kù)的瓶頸,這時(shí)候可以采取將表拆分到多個(gè)數(shù)據(jù)庫(kù)中。 階段八:應(yīng)用的拆分隨著業(yè)務(wù)的發(fā)展,業(yè)務(wù)越來(lái)越多,應(yīng)用的壓力越來(lái)越大。工程規(guī)模也越來(lái)越龐大。這個(gè)時(shí)候就可以考慮將應(yīng)用拆分,按照領(lǐng)域模型將我們的用戶(hù),商品,交易分拆成子系統(tǒng)。 這樣拆分以后,可能會(huì)有一些相同的代碼,比如用戶(hù)操

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論