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

2022-07-16 22:57:23 字數 1472 閱讀 7533

1.集中式架構的特點

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

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

2.分布式架構的特點

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

分布式系統是乙個硬體或軟體元件分布在不同的網路計算機上,彼此之間僅僅通過訊息傳遞進行通訊和協調的系統。

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

3.分布式架構的特徵

(1)分布性

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

(2)對等性

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

(3)併發性

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

(4)缺乏全域性時鐘

在上面的講解中,我們已經了解到,乙個典型的分布式系統是由一系列在空間上隨意分布的多個程序組成的,具有明顯的分布性,這些程序之間通過交換訊息來進行相互通訊。因此,在分布式系統中,很難定義兩個事件究竟誰先誰後,原因就是因為分布式系統缺乏乙個全域性的時鐘序列控制。關於分布式系統的時鐘和事件順序,在leslie lamport的經典** time,clocks,and the ordering of events in a distributed system中已經做了非常深刻的講解。

(5)故障總是會發生

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

集中式vs分布式

linus一直痛恨的cvs及svn都是集中式的版本控制系統,而git是分布式版本控制系統,集中式和分布式版本控制系統有什麼區別呢?先說集中式版本控制系統,版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給 伺服...

集群 分布式 集中式 偽分布式

將專案部署到一台機器上 對機器效能要求高 單體應用 將專案拆分 按業務或者服務 將專案部署在不同的機器上執行 對機器效能要求下降 集群是對機器數量的乙個概念 乙個專案,多機備份,做負載均衡及容錯 所有集群節點分布在多台機器上 集群主要作用就是分散請求,分散壓力,提高併發處理能力 減輕單一應用的壓力 ...

Git 集中式VS分布式

集中式版本控制系統 版本庫是集中存放在 伺服器的,而幹活的時候用的是自己電腦,所以要先從 伺服器取得最新版本,然後開始幹活,幹完再把自己的 活推送給 伺服器。集中式版本控制系統最大的毛病就是必須聯網才能工作。分布式版本控制系統 首先,分布式版本控制系統根本沒有 伺服器 每個人的電腦上都是乙個完整的版...