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

分布式IO基于分布多主机的IO资源在系统无需修改就能实现跨主机的分布式IO资源的访问和管理,根据不同的协议和系统架构可以开发出不同的分布式系统,分布式IO主要通过RMI、EJB、CORNA、COM/DCOM来实现分布式系统技术。

(一)远程方法调用

1.RMI

RMI使运行在不同计算机上的Java对象通过远程方法调用来进行通信,这些方法调用和对同一程序中对象的操作是一样的。RMI使得Java远程服务程序和访问这些服务程序的Java客户程序的编写工作变得轻松、简单。

2.远程方法调用的工作方式

(1)RMI服务器:包括远程对象,提供RMI服务,并用rmiregistry在注册处注册,获取服务名。

RMI客户:引用远程对象,在RMI注册处查找注册服务,获取对远程对象的引用。

(2)RMI服务器与RMI客户之间的交互方式

客户端的存根对象:充当代理对象,向RMI服务器传达请求,等待响应,返回结果给应用程序。

服务器端的骨架对象:复杂监听传入的RMI请求,把它们传递给RMI服务,骨架对象将结果回送给客户的存根对象。

3.RMI实现

实现远程方法调用(RMI)通常包括以下4个步骤:

(1)定义一个扩展了远程接口的接口,该接口中的每一个方法必须声明它将产生一个RemoteException异常。

(2)定义一个实现该接口的类作为服务器。

(3)创建客户程序。

(4)编译和执行服务器和客户。

(二)EJB

1.EJB组件类型

在EJB规范中定义了三种类型的组件:会话组件、实体组件、消息驱动组件

2.EJB的开发和部署

需要对开发工具进行一定的配置后连接服务器,完成EJB组件的开发、部署、测试和客户端程序的设计。

EJB组件基于分布式对象处理技术,EJB是设计成运行在服务器上,并由客户机调用的非可视远程对象。

(三)CORNA

1.什么是CORNA?

CORNA就是公用对象/组件请求代理体系结构,是对象管理组织OMG公布的关于对象交互的规范,支持不同的网络操作系统和高级语言编程。可以使用多种语言来编写CORNA对象和组件以及客户程序,

2.CORNA体系结构

CORNA由协同运作的对象和应用程序集合构成。

(四)COM/DCOM

1.什么是COM?

COM是一个说明如何建立可动态交互组件的规范,它定义了一些为保证能互操作,客户组件必须遵循的标准。

2.COM特性

建立在二进制层次上的标准,程序与程序之间的通信建立再次基础上

3.COM规范

定义了大量的标准接口用于各种用途

分布式块存储对内核文件系统无特性假设,节点变化无需人工参与即可恢复,数据动态均衡负载,支持虚拟机的热迁移。

返回列表