分散式系統
出自 MBA智库百科(https://wiki.mbalib.com/)
分散式系統(Distributed System,DS)
目錄 |
分散式系統定義[1]
分散式系統有很多不同的定義,一般認為:“一個分散式系統是一些獨立的電腦集合,但是對這個系統的用戶來說,系統就像一臺電腦一樣。”這個定義有兩方面的含義:第一,從硬體角度來講,每台電腦都是自主的;第二,從軟體角度來講,用戶將整個系統看做是一臺電腦。這兩者都是必需的,缺一不可。
分散式系統的主要特征[1]
分散式系統具有以下幾個主要特征:
(1)分佈性:系統中的多台電腦之間沒有主、從之分,即沒有控制整個系統的主機,也沒有受控的從機。
(2)透明性:系統資源被所有電腦共用。每台電腦的用戶不僅可以使用本機的資源,還可以使用本分散式系統中其他電腦的資源(包括CPU、文件、印表機等)。
(3)同一性:系統中的若幹台電腦可以互相協作來完成一個共同的任務,或者說一個程式可以分佈在幾台電腦上並行地運行。
(4)通信性:系統中任意兩台電腦都可以通過通信來交換信息。
分散式系統的優缺點[1]
分散式系統與集中式系統相比具有以下一些優點:
(1)經濟:隨著微處理機技術的發展,現在人們只需花不多的錢就能買到一個CPU晶元。分散式系統通常就是在一個系統中使用集中在一起的大量廉價CPU,可以得到比單個大型集中式系統好的多的性能價格比。
(2)快速:分散式系統由於使用了並行處理技術,因此它總的計算能力比單個的大型集中式系統強很多。
(3)可靠:分散式系統中工作負載都是分散在多台機器上,單個機器故障只會使一臺機器停機,而不會影響其他機器,從而獲得很高的可靠性。在系統中多台機器同時出現故障的概率是很低的,理想情況下,某一時刻如果有5%的電腦出現故障,系統仍能繼續工作。因此對於關鍵性的應用,一般都採用分散式系統來獲得高可靠性。
(4)易擴充:分散式系統允許系統在需求增長時逐漸進行擴充。因此在分散式系統組成後,可以方便地添加若幹台電腦,既不用修改軟體,也不用另行設計硬體。
(5)數據共用:允許多個用戶訪問一個公共的資料庫。例如,機票預定系統中的每個售票員需要訪問航班及座位信息,如果將航班及座位信息資料庫給他們每人備份一個,其實是無法工作的,因為他們不知其他人已經賣了哪些座位,所以電腦必須互連。而互連本身就產生了分散式系統。
(6)設備共用:共用並不局限於數據,有些昂貴的外圍設備,如彩色激光印表機、照相排版機和大型存儲設備等,都允許多個用戶共用。
(7)通信:使人們之間的通信變得更加容易,如通過電子郵件。
(8)靈活性:分散式系統中將多台電腦連在一起,可以使工作能夠在最合適的電腦上完成,可以使用最有效的方式將工作負荷分配到可用的機器上,即使某些電腦失效也可以使其工作在其他電腦上得到補償。
儘管分散式系統有很多優點,但也存在一些缺點。首先是軟體問題。分散式系統需要與集中式系統完全不同的軟體,特別是系統所需要的分散式操作系統才剛剛出現。其次是通信網路問題。由於網路會損失信息,因此需要專門的軟體進行恢復,當網路出現過載時也必須對它進行改造替換或加入另外的網路擴容,這些都將會抵消通過建立分散式系統所獲得的大部分優勢。另外,數據易於共用也存在安全問題,容易造成對保密數據的訪問。儘管存在這些潛在的問題,大家還是認為分散式系統的優點多於缺點,並且普遍認為分散式系統在未來幾年中會越來越重要。
分散式系統應用和標準[2]
分散式系統被用在許多不同類型的應用中。列出以下一些應用。對這些應用而言,使用分散式系統要比其他體繫結構如處理機和共用存儲器多處理機更優越:
- 並行和高性能應用
原則上,並行應用也可以在共用存儲器多處理機上運行,但共用存儲器系統不能很好地擴大規模以包括大量的處理機。HPCC(高性能計算和通信)應用一般需要一個可伸縮的設計,這種設計取決於分散式處理。
- 容錯應用
因為每個PE是自治的,所以分散式系統更加可靠。一個單元或資源(軟體或硬體)的故障不影響其他資源的正常功能。
- 固有的分散式應用
許多應用是固有分散式的。這些應用是突發模式(burst mode)而非批量模式(bulk mode)。這方面的實例有事務處理和Internet Javad,程式。
這些應用的性能取決於吞吐量(事務響應時陽J或每秒完成的事務數)而不是一般多處理機所用的執行時間。
對於一組用戶而言, 分散式系統有一個特別的應用稱為電腦支持的協同工作(computer supported Cooperative working,CSCW)或群件(group ware), 支持用戶協同工作。另一個應用是分散式會議, 即通過物理的分散式網路進行電子會議。同樣,多媒體遠程教學也是一個類似的應用。
由於在不同的平臺上如:Pc、工作站、區域網和廣域網上可獲得非常多樣的應用,用戶希望能超出他們Pc的限制以獲得更廣泛的特征、功能和性能。不同網路和環境(包括分散式系統環境)下的互操作性變得越來越重要。為了達到互操作性,用戶需要一個標準的分散式計算環境,在這個環境里,所有系統和資源都可用。
DCE (分散式計算環境)是OSF (開放系統基金會)開發的分散式計算技術的工業標準集。它提供保護和控制對數據訪問的安全服務、容易尋找分散式資源的名字服務、以及高度可伸縮的模型用於組織極為分散的用戶、服務和數據。D C E可在所有主要的計算平臺上運行, 並設計成支持異型硬體和軟體環境下的分散式應用。
DCE已經被包括TRANSVARL在內的一些廠商實現。TRANSVARL是最早的多廠商組(multi-vendor team)的成員之一,它提出的建議已成為DCE體繫結構的基礎。在中可以找到利用DCE開發分散式應用的指南。具有標準介面和協議的系統也叫做開放系統。
一些其它標準基於一個特別的模型,比如CORBA (公用對象請求代理程式體繫結構),它是由OMG (對象管理組)和多電腦廠商聯盟開發的一個標準。CORBA使用面向對象模型實現分散式系統中的透明服務請求。
工業界有自己的標準,比如微軟的分散式構件對象模型(DCOM)和Sun Microsystem公司的JavaBeans。
贊一個。