02-服务计算基础(分布式计算技术基础)_第1页
02-服务计算基础(分布式计算技术基础)_第2页
02-服务计算基础(分布式计算技术基础)_第3页
02-服务计算基础(分布式计算技术基础)_第4页
02-服务计算基础(分布式计算技术基础)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、服务计算基础服务计算基础主讲:李伟刚西北工业大学软件与微电子学院第二章第二章 分布式计算技术基础分布式计算技术基础主要内容主要内容l通信机制l通信中间件l中间件的同步方式l中间件的异步方式l耦合性第一节第一节 通信机制通信机制通信机制的异质性通信机制的异质性l通信模式同步、异步(消息传递、发送/回调、发布/订阅、广播)l多种运行时特性需要考虑安全、容错、负载平衡、事务处理、日志、审计l产品的多样化通信模式通信模式1l同步同步调用结果返回响应接收发送者接收者阻塞等待通信模式通信模式2l异步:消息传递发出消息接收发送者接收者通信模式通信模式3l异步:发送/回调接收消息响应接收发送者接收者继续执行发

2、出消息通信模式通信模式4l异步:发布/订阅发布者发布者订阅者订阅者订阅者主题/Topic通信模式通信模式5l异步:广播发送者接收者接收者接收者发布消息发布消息发布消息第二节第二节 通信中间件通信中间件中间件中间件l 在分布式计算系统中,中间件是指位于操作系统和应用系统之间的软件层。它是独立组件之间的“粘合剂”l 目标隐藏组件的分布性隐藏组件的异构性 提供统一、标准和高层的接口提供一组共用服务l 例子事务处理中间件数据转换中间件通信中间件常用通信中间件框架常用通信中间件框架l RPC给那些分布在不同计算机上的应用提供互相通信的途径,是当今多数中间件的基础l 分布式对象由ORB(Object Re

3、quest Broker)支持l MOM基于消息队列,是大型企业通信基础结构的流行技术l 消息代理MOM的扩展同步异步第三节第三节 中间件的同步方式中间件的同步方式RPC(Remote Procedure Call)客户端调用客户端存根,存根把相关参数组装成一个或一组消息包,加入服务器端IP地址和执行此过程的进程ID号,形成一条消息;客户端存根将消息发送至RPC运行时库;客户端RPC运行时库将消息发送至传输层;Client applicationClient stubRPC libraryNetwork protocolServer applicationServer stubRPC libr

4、aryNetwork protocolCall procedureExecute procedure1235674RPC消息由传输层传送至服务器端;服务器端传输层将消息发送给服务器端RPC运行时库;服务器端RPC运行时库将消息发送到Server stub上的一个子程序,由它处理消息;Server stub的子程序拆解消息,解析出参数,并用本地调用方式执行过程。Client applicationClient stubRPC libraryNetwork protocolServer applicationServer stubRPC libraryNetwork protocolCall pr

5、ocedureExecute procedure1235674响应过程同理。RPC的贡献的贡献l透明性允许程序可以象调用本地过程一样调用驻留在其他机器上的过程,调用者根本不知道被调用的过程是在另一台机器上运行的l提出客户端和服务器的概念l对分布式对象技术影响深远的概念有:接口定义语言IDL名称和目录服务动态绑定服务接口RPC程序开发过程程序开发过程lStep1 定义过程接口lStep2 编译过程接口的定义客户端存根(stub)服务器存根(stub/skeleton)客户端存根必须和服务器代码一起编译和连接lStep3 编写和编译实现代码服务器端:实现过程的代码客户端:应用逻辑代码RPC的缺陷的

6、缺陷l受限于相同的RPC运行环境l需要了解一些网络细节以便定位服务器l客户端发出请求的同时,要求服务器必须是活动的l非面向对象编程分布式对象分布式对象Client applicationClient proxiesORBNetwork protocolServer applicationServer skeletonsORBNetwork protocolCall methodExecute methodCreate, locate, delete, invoke分布式对象分布式对象l思想“Interoperable Object References”l允许通过对象工厂和其他辅助对象,方便地

7、远程创建、定位、删除和调用对象l提供了一个OO的分布式平台,理想是处理异构(硬、软件、厂商)lORB支持位置透明,对客户端隐藏实现细节l实现:CORBA, COM/DCOM, RMICORBA发展史发展史l Common Object Request Broker Architecture l OMG开发的标准, “to allow applications to communicate with one another no matter where they are located or who has designed them”1991, CORBA 1.1, IDL & AP

8、I within an ORB1994, CORBA interoperability & IIOP (Internet Inter-ORB Protocol)1997, CORBA 2.1, Interoperability with COM1998, CORBA 2.2, Interoperability with Java2002, CORBA Component ModelCORBA应用程序结构应用程序结构l Object Request Broker: enables objects to transparently make and receive requests and

9、 responses in a distributed environment. The core of the reference model, “telephone exchange”l Object Services: a collection of services (interfaces and objects) that support basic functions for using and implementing objects. e.g. Naming, Life Cycle Service l Common Facilities: a collection of ser

10、vices that many applications may share, but which are not as fundamental as the Object Services e.g. e-mail facility l Application Objects: products of a single vendor on in-house development group that controls their interfaces.CORBA应用程序结构应用程序结构Object Request BrokerApplicationObjectsDomainFacilitie

11、sHorizontal CORBAFacilitiesDomain FacilitiesCORBA中间件体系架构中间件体系架构Interface RepositoryImplementation RepositoryIDLCompilerClientObjectDynamicInvocationIDLStubORBInterfaceIDLSkeletonDynamicSkeletonObjectAdapterORB CoreGIOP/IIOPORB(Object Request Broker)l 功能:提供一组服务逻辑定位远程对象,传输请求,等待结果返回并在结果返回时将它传给客户端实现对象位置

12、透明与开发语言无关:接口翻译和语言绑定l 优点客户端不必知道与服务器对象通信、激活或保存服务器对象的机制不必知道服务器对象的位置、编程语言、操作系统以及其他非对象接口的系统信息ClientObjectObject Request Broker (ORB)IDL(Interface Definition Language)l 中性语言, 语言映射模块化对象接口可描述对象支持的操作(方法)和属性可描述操作的异常定义可描述操作返回值的数据类型、操作的参数和对象的属性ClientObject Request Broker (ORB)IDLStubIDLSkeletonObjectCORBA请求响应过程

13、请求响应过程ORB COREIn argsObjectClientObj. ref.Operation ()Out args + return valueIDLStub1CLocate target object3C2CSend request to serverWait for request to completeImplementationRepository1SActivate serverIDLSkeleton2SActivate Objects Servant3SProcess Request4SReturn Request4CReturn Control to ClientCOR

14、BA 互操作互操作ClientORB 1IDLStubIDLSkeletonObjectClientIDLSkeletonObjectORB 2IDLStubIIOPInteroperability uses Internet Inter-ORB Protocol CORBA的缺陷的缺陷l对象粒度小,通信负荷大l复杂,庞大,必须由精深技术专家使用l实现厂商平台的私有化造成CORBA所追求的互操作性难以实现l标准更新缓慢DCOMDCOMClientCOMRun-timeComponentCOMRun-timeSecurityproviderProtocol StackDCE RPCSecurit

15、yproviderProtocol StackDCE RPCDCOM network protocoll实现Microsoft平台上对象间跨进程通信,用网络协议来代替本地进程之间的通信 ObjectProxyStubDCOM的缺陷的缺陷lDCOM由单一开发者(微软)定义并控制,这大大限制了它的使用者的选择范围(比方说开发工具和风格) lDCOM缺乏众多的平台支持,这极大程度地制约了代码的可重用性和DCOM应用的可扩展性 l本身的设计缺陷 第四节第四节 中间件的异步方式中间件的异步方式MOM & Message Brokerl 路由消息的虚拟通道l 消息是信息的自包含(Self-cont

16、ained)单元l 异步通信l 应用解耦 l 消息系统支持多个消息客户的通信信道管理和关联点管理 Message server Message broker消息消息l 消息头基本信息 lDestination, reply-to, message type, etc. l 消息属性应用定义的名-值对为客户或路由器过滤之用l 消息体文本, 元数据, XML消息异步可靠性异步可靠性l消息的自治性消息是自包含的、自治的实体生产者发送消息消息系统保证消息能被任何干系方收到异步可靠性异步可靠性l 消息存储和转发消息被队列化并确保传输l仅一次l至少一次l至多一次消息排序 l消息被发送方发出,并以相同的顺序传给接收方异步可靠性异步可靠性l消息确认消息系统监督消息处理进程,以便获悉消息是否能成功地被生产和消费可靠消息模型可靠消息模型l可靠发布/订阅持久消息持久订阅可靠消息模型可靠消息模型l可靠的点到点队列持久消息在队列中存储,直到它被消费者消费或超期一个非持久消息也会在队列中保存,直到它被消费或超期为止,但是不保证在失败恢复或消息服务器恢复后也如此可靠消息模型可靠消息模型l多步存储-转发每个消息服务器使用存储-转发和消息确认机制获取下一个服务器的消息,形成链条每个连接可以采用安全、认证机制,并可穿越防火墙可靠消息模型可靠消息模型事务性事务性接收和传送操作可以封装在一个本地事务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论