分散式計算(一)基本範型
對於分散式的概念既模糊又有些理解,總是無法很好的把握,似乎與我們工作無關,但又天天在用, 究竟什麼是分散式,
它能做什麼?從那下手,網上可以查到很多,都使我越來越糊塗,大概是分散式計算、分散式儲存、分散式緩衝等。日日梳理這些
模糊的東西,希望能有一天,能從這裡走出一條光明的路。
1、 根據分散式計算抽象層次和封裝層次的不同,可以將分散式的計算範型分為以下幾類:
2、訊息傳遞範型
訊息傳遞(Message Passing) 範型利用網路API,完成將使用者請求進行打包、傳送和解包的工作,必要時還要考慮通訊緩衝區操作及跨平臺資料格式表示等問題。
訊息傳遞範型是分散式計算最基礎的形式,Socket API 即基於此類範型。實現訊息傳遞的方式由兩個程序來實現,一個程序傳送代表請求的訊息,此訊息被傳送到接收者,
接送者處理此請求,併發送一條應答訊息;另一個程序應答訊息可能導致下一個請求,併產生下一個回答。
3、遠端過程呼叫範型
遠端過程呼叫(RPC)試圖使對另一臺機器上的過程進行呼叫看起來像是對本地同一地址空間中的過程進行呼叫。遠端過程呼叫的通訊模型是一種基於C/S的同步通訊方式,它以過程呼叫方式來完成遠端通訊。
RPC通常是通過使用某一型別的介面定義語言(IDL)描述介面來達到的。
4、分散式物件範型
分散式物件技術是在分散式環境下跨平臺、跨語言的基於物件的分散式計算技術,它使得物件使用者在使用物件時可以訪問網路上任意有用的物件,而不必知道該物件所處的位置。
分散式物件技術是構建業務應用框架和軟體構件的核心技術,它們中具有代表意義的有三類,即Microsoft 公司的 COM/DCOM/COM+ 技術、Sun公司的JavaBeans、RMI和OMG的CORBA技術。
5、分散式元件模型
1)CORBA元件模型CCM
CORAB是OMG在1991年提出的公用物件請求代理程式結構技術規範。CORAB的底層結果是基於面向物件模型的,由OMG介面描述語言IDL、物件請求代理(ORB,Object Request Broker)和IIOP標準協議(Internet Inter-ORB Protocol) 3個關鍵模組組成。
2)EJB元件模型
EJB是J2EE的核心技術之一,是建立基於Java的伺服器端元件的標準。EJB不侷限於一種特定的作業系統,也不侷限於任何一種特別的機構、伺服器解決方案、中介軟體或者通訊協議,是可重用、具有高度可移植性的元件。
EJB2.0 規範定義了三類不同的企業Bean,分別是會話Bean、實體Bean和訊息驅動Bean。
3)COM元件模型
COM 是Microsoft公司的軟體元件標準,包括統一資料傳輸、持久儲存和智慧命名、COM核心等內容。
6、面向服務的體系結構
為了實現可重用性、鬆散耦合、粗粒度、互操作性等設計目標,面向服務的體系結構(SOA,Service-Oriented Architecture)側重於服務(Services)的釋出、發現和使用
SOA的基本思想是以服務和核心,將企業的IT資源整合成可操作的、基於標準的服務,使其能被重新組合和應用。
通俗地說,SOA可以將網路應用作為一個個不同的服務組合起來,每個服務都相對獨立,既不依賴於實現技術、底層介面,也不依賴於其他服務;不同的服務間可以以一種統一和通用的方式進行互動。