集中式架構和分布式架構的特點


1.集中式架構的特點

所謂的集中式系統就是由一台或多台主計算機組成的中心節點,數據集中存儲於這個中心節點中,並且整個系統的所有業務單元都集中部署在這個中心節點上,系統的所有功能均由其集中處理。也就是說,在集中式系統中,每個終端或客戶端機器僅僅負責數據的錄入和輸出,而數據的存儲與控制處理完全交由主機來完成。

集中式系統最大的特點就是部署結構簡單。由於集中式系統往往基於底層性能卓越的大型主機,因此無須考慮如何對服務進行多個節點的部署,也就不用考慮多個節點之間的分布式協作問題。

 

2.分布式架構的特點

在《分布式系統概念與設計》一書中,對分布式系統做了如下定義:

分布式系統是一個硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統。

上面這個簡單的定義涵蓋了幾乎所有有效地部署了網絡化計算機的系統。嚴格來說,同一個分布式系統中的計算機在空間部署上是可以隨意分布的,這些計算機可能被放在不同的機櫃上,也可能在不同的機房中,甚至分布在不同的城市。

 

3.分布式架構的特征

(1)分布性

分布式系統中的多台計算機都會在空間上隨意分布,同時,機器的分布情況也會隨時變動。

(2)對等性

分布式系統中的計算機沒有主/從之分,既沒有控制整個系統的主機,也沒有被控制的從機,組成分布式系統的所有計算機節點都是對等的。副本(Replica)是分布式系統最常見的概念之一,指的是分布式系統對數據和服務提供的一種冗余方式。在常見的分布式系統中,為了對外提供高可用的服務,我們往往會對數據和服務進行副本處理。數據副本是指在不同的節點上持久化同一份數據,當某一個節點上存儲的數據丟失時,可以從副本上讀取該數據,這是解決分布式系統數據丟失問題最為有效的手段。另一類副本是服務副本,指多個節點提供同樣的服務,當每個節點都有能力接收來自外部的請求並進行相應的處理。

(3)並發性

在“問題的提出”部分,我們已經提到的與“更新的並發行”相關的內容。在一個計算機網絡中,程序運行過程中的並發性操作,是非常常見的行為,例如同一個分布式系統中的多個節點,可能會並發地操作一些共享的資源,諸如數據庫或分布式存儲等,如何准確並高效地協調分布式並發操作也成為了分布式系統架構與設計中最大的挑戰之一。

(4)缺乏全局時鍾

在上面的講解中,我們已經了解到,一個典型的分布式系統是由一系列在空間上隨意分布的多個進程組成的,具有明顯的分布性,這些進程之間通過交換消息來進行相互通信。因此,在分布式系統中,很難定義兩個事件究竟誰先誰后,原因就是因為分布式系統缺乏一個全局的時鍾序列控制。關於分布式系統的時鍾和事件順序,在Leslie Lamport的經典論文 Time,Clocks,and the Ordering of Events in a Distributed System中已經做了非常深刻的講解。

(5)故障總是會發生

組成分布式系統的所有計算機,都有可能發生任何形式的故障。一個被大量工程實踐所檢驗過的黃金定理是:任何在設計階段考慮到的異常情況,一定會在系統實際運行時發生,並且,在系統實際運行過程中還會遇到很多在設計時未能考慮到的異常故障。所以,除非需求指標允許,在系統設計時不能放過任何異常情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM