分佈式系統簡要定義

1.定義:系統的各組件分佈於網絡上多臺計算機,各組件彼此直接僅僅經過消息傳遞來通訊並協調行動。前端

簡要來講就是:一個系統的各個組件(包括前端呈現、後端API、中間件(redis等)、數據庫.....)分佈在網絡上的各臺主機, 而且各組件之間僅經過消息傳遞來通訊並協調工做。redis

 

2.分佈式系統與集中式系統相比具備如下一些優勢: 數據庫

(1)經濟:隨着微處理機技術的發展,如今人們只需花很少的錢就能買到一個CPU芯片。分佈式系統一般就是在一個系統中使用集中在一塊兒的大量廉價CPU,能夠獲得比單個大型集中式系統好的多的性能價格比。 後端

(2)快速:分佈式系統因爲使用了並行處理技術,所以它總的計算能力比單個的大型集中式系統強不少。 安全

(3)可靠:分佈式系統中工做負載都是分散在多臺機器上,單個機器故障只會使一臺機器停機,而不會影響其餘機器,從而得到很高的可靠性。在系統中多臺機器同時出現故障的機率是很低的,理想狀況下,某一時刻若是有5%的計算機出現故障,系統仍能繼續工做。所以對於關鍵性的應用,通常都採用分佈式系統來得到高可靠性。 網絡

(4)易擴充:分佈式系統容許系統在需求增加時逐漸進行擴充。所以在分佈式系統組成後,能夠方便地添加若干臺計算機,既不用修改軟件,也不用另行設計硬件。 分佈式

(5)數據共享:容許多個用戶訪問一個公共的數據庫。例如,機票預約系統中的每一個售票員須要訪問航班及座位信息,若是將航班及座位信息數據庫給他們每人備份一個,實際上是沒法工做的,由於他們不知其餘人已經賣了哪些座位,因此計算機必須互連。而互連自己就產生了分佈式系統。 性能

(6)設備共享:共享並不侷限於數據,有些昂貴的外圍設備,如彩色激光打印機、照相排版機和大型存儲設備等,都容許多個用戶共享。 操作系統

(7)通訊:令人們之間的通訊變得更加容易,如經過電子郵件。 設計

(8)靈活性:分佈式系統中將多臺計算機連在一塊兒,可使工做可以在最合適的計算機上完成,可使用最有效的方式將工做負荷分配到可用的機器上,即便某些計算機失效也可使其工做在其餘計算機上獲得補償。 

儘管分佈式系統有不少優勢,但也存在一些缺點。首先是軟件問題。分佈式系統須要與集中式系統徹底不一樣的軟件,特別是系統所須要的分佈式操做系統纔剛剛出現。其次是通訊網絡問題。因爲網絡會損失信息,所以須要專門的軟件進行恢復,當網絡出現過載時也必須對它進行改造替換或加入另外的網絡擴容,這些都將會抵消經過創建分佈式系統所得到的大部分優點。另外,數據易於共享也存在安全問題,容易形成對保密數據的訪問。儘管存在這些潛在的問題,你們仍是認爲分佈式系統的優勢多於缺點,而且廣泛認爲分佈式系統在將來幾年中會愈來愈重要。

 

3.分佈式的難點

(1)缺少全局時鐘

(2)面對故障時的獨立性

(3)很難處理單點故障

(4)很難實現事務

相關文章
相關標籤/搜索