分布式系統(tǒng)指由多個獨立計算機通過網(wǎng)絡連接進行協(xié)同工作的系統(tǒng)。它可以在計算機網(wǎng)絡上集成不同的資源,并為用戶提供一個像單個系統(tǒng)一樣的視圖。
1.分布式系統(tǒng)分類
根據(jù)不同的角度,分布式系統(tǒng)可以被劃分為以下幾類:
- 按照系統(tǒng)內(nèi)部結構的不同:客戶端-服務器系統(tǒng)、對等網(wǎng)絡系統(tǒng)。
- 按照系統(tǒng)內(nèi)節(jié)點協(xié)作關系的不同:基于共享狀態(tài)的系統(tǒng)、消息傳遞系統(tǒng)。
- 按照系統(tǒng)內(nèi)節(jié)點間通信的不同:基于RPC(Remote Procedure Call)的系統(tǒng)、基于消息隊列的系統(tǒng)。
- 按照系統(tǒng)所涵蓋的范圍:局域網(wǎng)分布式系統(tǒng)、廣域網(wǎng)分布式系統(tǒng)、云計算平臺。
2.分布式系統(tǒng)特征
分布式系統(tǒng)具有以下特征:
- 分布性:系統(tǒng)中的各個組成部分可以物理上分布在不同的計算機上。
- 并發(fā)性:系統(tǒng)中的多個節(jié)點可同時工作,彼此之間相互獨立。
- 缺乏全局時鐘:分布式系統(tǒng)沒有單一的全局時鐘,而且各個節(jié)點的時間可能出現(xiàn)誤差。
- 故障獨立性:即使某些節(jié)點或鏈路發(fā)生故障,整個系統(tǒng)依然可以正常運行。
3.分布式系統(tǒng)優(yōu)缺點
分布式系統(tǒng)的優(yōu)點:
- 可靠性高:安排了備份處理,數(shù)據(jù)就不會輕易丟失。
- 可擴展性好:可以根據(jù)需要增加節(jié)點數(shù)量來擴大系統(tǒng)容量。
- 資源共享:各個節(jié)點有自己的資源,可以彼此共享,提高了資源利用率。
分布式系統(tǒng)的缺點:
- 復雜性高:由于涉及到多個節(jié)點、通信等問題,構建分布式系統(tǒng)較為復雜。
- 性能損失:由于網(wǎng)絡通信的存在,分布式系統(tǒng)的性能不如單機系統(tǒng)的性能。
- 并發(fā)控制問題:由于多個節(jié)點間并發(fā)執(zhí)行,需要考慮并發(fā)控制問題。
4.分布式系統(tǒng)應用
分布式系統(tǒng)可以在許多領域應用,以下是一些常見的應用場景:
- 云計算平臺:通過網(wǎng)絡將資源和服務提供給用戶。
- 大規(guī)模數(shù)據(jù)處理:如Google的MapReduce、Apache Hadoop等。
- 分布式數(shù)據(jù)庫:如Google的Bigtable、HBase、Cassandra等。
- 物聯(lián)網(wǎng)系統(tǒng):將各種物理設備通過網(wǎng)絡連接起來,實現(xiàn)信息交換和處理。
閱讀全文