分布式IO的基本通信方式是什么?

分布式IO基于分布多主機的IO資源在系統(tǒng)無需修改就能實現(xiàn)跨主機的分布式IO資源的訪問和管理,根據(jù)不同的協(xié)議和系統(tǒng)架構(gòu)可以開發(fā)出不同的分布式系統(tǒng),分布式IO主要通過RMI、EJB、CORNA、COM/DCOM來實現(xiàn)分布式系統(tǒng)技術(shù)。

(一)遠程方法調(diào)用

1.RMI

RMI使運行在不同計算機上的Java對象通過遠程方法調(diào)用來進行通信,這些方法調(diào)用和對同一程序中對象的操作是一樣的。RMI使得Java遠程服務程序和訪問這些服務程序的Java客戶程序的編寫工作變得輕松、簡單。

2.遠程方法調(diào)用的工作方式

(1)RMI服務器:包括遠程對象,提供RMI服務,并用rmiregistry在注冊處注冊,獲取服務名。

RMI客戶:引用遠程對象,在RMI注冊處查找注冊服務,獲取對遠程對象的引用。

(2)RMI服務器與RMI客戶之間的交互方式

客戶端的存根對象:充當代理對象,向RMI服務器傳達請求,等待響應,返回結(jié)果給應用程序。

服務器端的骨架對象:復雜監(jiān)聽傳入的RMI請求,把它們傳遞給RMI服務,骨架對象將結(jié)果回送給客戶的存根對象。

3.RMI實現(xiàn)

實現(xiàn)遠程方法調(diào)用(RMI)通常包括以下4個步驟:

(1)定義一個擴展了遠程接口的接口,該接口中的每一個方法必須聲明它將產(chǎn)生一個RemoteException異常。

(2)定義一個實現(xiàn)該接口的類作為服務器。

(3)創(chuàng)建客戶程序。

(4)編譯和執(zhí)行服務器和客戶。

(二)EJB

1.EJB組件類型

在EJB規(guī)范中定義了三種類型的組件:會話組件、實體組件、消息驅(qū)動組件

2.EJB的開發(fā)和部署

需要對開發(fā)工具進行一定的配置后連接服務器,完成EJB組件的開發(fā)、部署、測試和客戶端程序的設計。

EJB組件基于分布式對象處理技術(shù),EJB是設計成運行在服務器上,并由客戶機調(diào)用的非可視遠程對象。

(三)CORNA

1.什么是CORNA?

CORNA就是公用對象/組件請求代理體系結(jié)構(gòu),是對象管理組織OMG公布的關于對象交互的規(guī)范,支持不同的網(wǎng)絡操作系統(tǒng)和高級語言編程??梢允褂枚喾N語言來編寫CORNA對象和組件以及客戶程序,

2.CORNA體系結(jié)構(gòu)

CORNA由協(xié)同運作的對象和應用程序集合構(gòu)成。

(四)COM/DCOM

1.什么是COM?

COM是一個說明如何建立可動態(tài)交互組件的規(guī)范,它定義了一些為保證能互操作,客戶組件必須遵循的標準。

2.COM特性

建立在二進制層次上的標準,程序與程序之間的通信建立再次基礎上

3.COM規(guī)范

定義了大量的標準接口用于各種用途

分布式塊存儲對內(nèi)核文件系統(tǒng)無特性假設,節(jié)點變化無需人工參與即可恢復,數(shù)據(jù)動態(tài)均衡負載,支持虛擬機的熱遷移。

返回列表