[精选]02-服务计算基础(分布式计算技术基础)2174.pptx
服务计算基础服务计算基础主讲:李伟刚西北工业大学软件与微电子学院第二章第二章 分布式计算技术基础分布式计算技术基础主要内容主要内容l通信机制l通信中间件l中间件的同步方式l中间件的异步方式l耦合性第一节第一节 通信机制通信机制通信机制的异质性通信机制的异质性l通信模式同步、异步(消息传递、发送/回调、发布/订阅、广播)l多种运行时特性需要考虑安全、容错、负载平衡、事务处理、日志、审计l产品的多样化通信模式通信模式1l同步同步调用结果返回响应接收发送者接收者阻塞等待通信模式通信模式2l异步:消息传递发出消息接收发送者接收者通信模式通信模式3l异步:发送/回调接收消息响应接收发送者接收者继续执行发出消息通信模式通信模式4l异步:发布/订阅发布者发布者订阅者订阅者订阅者主题/Topic通信模式通信模式5l异步:广播发送者接收者接收者接收者发布消息发布消息发布消息第二节第二节 通信中间件通信中间件中间件中间件l在分布式计算系统中,中间件是指位于操作系统和应用系统之间的软件层。它是独立组件之间的“粘合剂”l目标隐藏组件的分布性隐藏组件的异构性 提供统一、标准和高层的接口提供一组共用服务l例子事务处理中间件数据转换中间件通信中间件常用通信中间件框架常用通信中间件框架lRPC给那些分布在不同计算机上的应用提供互相通信的途径,是当今多数中间件的基础l分布式对象由ORB(Object Request Broker)支持lMOM基于消息队列,是大型企业通信基础结构的流行技术l消息代理MOM的扩展同步异步第三节第三节 中间件的同步方式中间件的同步方式RPC(Remote Procedure Call)客户端调用客户端存根,存根把相关参数组装成一个或一组消息包,加入服务器端IP地址和执行此过程的进程ID号,形成一条消息;客户端存根将消息发送至RPC运行时库;客户端RPC运行时库将消息发送至传输层;Client applicationClient stubRPC libraryNetwork protocolServer applicationServer stubRPC libraryNetwork protocolCall procedureExecute procedure1235674RPC消息由传输层传送至服务器端;服务器端传输层将消息发送给服务器端RPC运行时库;服务器端RPC运行时库将消息发送到Server stub上的一个子程序,由它处理消息;Server stub的子程序拆解消息,解析出参数,并用本地调用方式执行过程。Client applicationClient stubRPC libraryNetwork protocolServer applicationServer stubRPC libraryNetwork protocolCall procedureExecute procedure1235674响应过程同理。RPC的贡献的贡献l透明性允许程序可以象调用本地过程一样调用驻留在其他机器上的过程,调用者根本不知道被调用的过程是在另一台机器上运行的l提出客户端和服务器的概念l对分布式对象技术影响深远的概念有:接口定义语言IDL名称和目录服务动态绑定服务接口RPC程序开发过程程序开发过程lStep1 定义过程接口lStep2 编译过程接口的定义客户端存根(stub)服务器存根(stub/skeleton)客户端存根必须和服务器代码一起编译和连接lStep3 编写和编译实现代码服务器端:实现过程的代码客户端:应用逻辑代码RPC的缺陷的缺陷l受限于相同的RPC运行环境l需要了解一些网络细节以便定位服务器l客户端发出请求的同时,要求服务器必须是活动的l非面向对象编程分布式对象分布式对象Client applicationClient proxiesORBNetwork protocolServer applicationServer skeletonsORBNetwork protocolCall methodExecute methodCreate,locate,delete,invoke分布式对象分布式对象l思想“Interoperable Object References”l允许通过对象工厂和其他辅助对象,方便地远程创建、定位、删除和调用对象l提供了一个OO的分布式平台,理想是处理异构(硬、软件、厂商)lORB支持位置透明,对客户端隐藏实现细节l实现:CORBA,COM/DCOM,RMICORBA发展史发展史lCommon Object Request Broker Architecture lOMG开发的标准,“to allow applications to communicate with one another no matter where they are located or who has designed them”1991,CORBA 1.1,IDL&API 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应用程序结构应用程序结构lObject Request Broker:enables objects to transparently make and receive requests and responses in a distributed environment.The core of the reference model,“telephone exchange”lObject Services:a collection of services(interfaces and objects)that support basic functions for using and implementing objects.e.g.Naming,Life Cycle Service lCommon Facilities:a collection of services that many applications may share,but which are not as fundamental as the Object Servicese.g.e-mail facility lApplication Objects:products of a single vendor on in-house development group that controls their interfaces.CORBA应用程序结构应用程序结构CORBA中间件体系架构中间件体系架构Interface RepositoryImplementation RepositoryIDLCompilerClientObjectDynamicInvocationIDLStubORBInterfaceIDLSkeletonDynamicSkeletonObjectAdapterORB CoreGIOP/IIOPORB(Object Request Broker)l功能:提供一组服务逻辑定位远程对象,传输请求,等待结果返回并在结果返回时将它传给客户端实现对象位置透明与开发语言无关:接口翻译和语言绑定l优点客户端不必知道与服务器对象通信、激活或保存服务器对象的机制不必知道服务器对象的位置、编程语言、操作系统以及其他非对象接口的系统信息ClientObjectObject Request Broker(ORB)IDL(Interface Definition Language)l中性语言,语言映射模块化对象接口可描述对象支持的操作(方法)和属性可描述操作的异常定义可描述操作返回值的数据类型、操作的参数和对象的属性ClientObject Request Broker(ORB)IDLStubIDLSkeletonObjectCORBA请求响应过程请求响应过程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 ClientCORBA 互操作互操作ClientORB 1IDLStubIDLSkeletonObjectClientIDLSkeletonObjectORB 2IDLStubIIOPInteroperability uses Internet Inter-ORB Protocol CORBA的缺陷的缺陷l对象粒度小,通信负荷大l复杂,庞大,必须由精深技术专家使用l实现厂商平台的私有化造成CORBA所追求的互操作性难以实现l标准更新缓慢DCOMDCOMClientCOMRun-timeComponentCOMRun-timeSecurityproviderProtocol StackDCE RPCSecurityproviderProtocol StackDCE RPCDCOM network protocoll实现Microsoft平台上对象间跨进程通信,用网络协议来代替本地进程之间的通信 ObjectProxyStubDCOM的缺陷的缺陷lDCOM由单一开发者(微软)定义并控制,这大大限制了它的使用者的选择范围(比方说开发工具和风格)lDCOM缺乏众多的平台支持,这极大程度地制约了代码的可重用性和DCOM应用的可扩展性 l本身的设计缺陷 第四节第四节 中间件的异步方式中间件的异步方式MOM&Message Brokerl路由消息的虚拟通道l消息是信息的自包含(Self-contained)单元l异步通信l应用解耦 l消息系统支持多个消息客户的通信信道管理和关联点管理Message serverMessage broker消息消息l消息头基本信息 lDestination,reply-to,message type,etc.l消息属性应用定义的名-值对为客户或路由器过滤之用l消息体文本,元数据,XML消息异步可靠性异步可靠性l消息的自治性消息是自包含的、自治的实体生产者发送消息消息系统保证消息能被任何干系方收到异步可靠性异步可靠性l消息存储和转发消息被队列化并确保传输l仅一次l至少一次l至多一次消息排序 l消息被发送方发出,并以相同的顺序传给接收方异步可靠性异步可靠性l消息确认消息系统监督消息处理进程,以便获悉消息是否能成功地被生产和消费可靠消息模型可靠消息模型l可靠发布/订阅持久消息持久订阅可靠消息模型可靠消息模型l可靠的点到点队列持久消息在队列中存储,直到它被消费者消费或超期一个非持久消息也会在队列中保存,直到它被消费或超期为止,但是不保证在失败恢复或消息服务器恢复后也如此可靠消息模型可靠消息模型l多步存储-转发每个消息服务器使用存储-转发和消息确认机制获取下一个服务器的消息,形成链条每个连接可以采用安全、认证机制,并可穿越防火墙可靠消息模型可靠消息模型事务性事务性接收和传送操作可以封装在一个本地事务中多个资源可以参与到两阶段提交事务中消息系统的难点消息系统的难点l多个物理队列形成逻辑队列,甚至构成队列网络,需智能路由引擎的支持l需要提供QoS(Quality of Service,服务质量等级)支持第五节第五节 耦合性耦合性耦合问题耦合问题l耦合?软件组件间的依赖程度l企业越来越需要灵活地处理业务流程的更改以及与合作伙伴的交互方式l松耦合降低了整体复杂性和依赖性,提高敏捷性。适应更改、减低风险耦合问题耦合问题思考与讨论题思考与讨论题l通信模式l分布式通信中间件的主要功能lRPC的原理lCORBA架构l可靠消息模型如何运行?l9、静夜四无邻,荒居旧业贫。3月-233月-23Thursday,March 30,2023l10、雨中黄叶树,灯下白头人。14:14:5614:14:5614:143/30/2023 2:14:56 PMl11、以我独沈久,愧君相见频。3月-2314:14:5614:14Mar-2330-Mar-23l12、故人江海别,几度隔山川。14:14:5614:14:5614:14Thursday,March 30,2023l13、乍见翻疑梦,相悲各问年。3月-233月-2314:14:5614:14:56March 30,2023l14、他乡生白发,旧国见青山。30 三月 20232:14:56 下午14:14:563月-23l15、比不了得就不比,得不到的就不要。三月 232:14 下午3月-2314:14March 30,2023l16、行动出成果,工作出财富。2023/3/30 14:14:5614:14:5630 March 2023l17、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。2:14:56 下午2:14 下午14:14:563月-23l9、没有失败,只有暂时停止成功!。3月-233月-23Thursday,March 30,2023l10、很多事情努力了未必有结果,但是不努力却什么改变也没有。14:14:5614:14:5614:143/30/2023 2:14:56 PMl11、成功就是日复一日那一点点小小努力的积累。3月-2314:14:5614:14Mar-2330-Mar-23l12、世间成事,不求其绝对圆满,留一份不足,可得无限完美。14:14:5614:14:5614:14Thursday,March 30,2023l13、不知香积寺,数里入云峰。3月-233月-2314:14:5614:14:56March 30,2023l14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。30 三月 20232:14:56 下午14:14:563月-23l15、楚塞三湘接,荆门九派通。三月 232:14 下午3月-2314:14March 30,2023l16、少年十五二十时,步行夺得胡马骑。2023/3/30 14:14:5614:14:5630 March 2023l17、空山新雨后,天气晚来秋。2:14:56 下午2:14 下午14:14:563月-23l9、杨柳散和风,青山澹吾虑。3月-233月-23Thursday,March 30,2023l10、阅读一切好书如同和过去最杰出的人谈话。14:14:5614:14:5614:143/30/2023 2:14:56 PMl11、越是没有本领的就越加自命不凡。3月-2314:14:5614:14Mar-2330-Mar-23l12、越是无能的人,越喜欢挑剔别人的错儿。14:14:5614:14:5614:14Thursday,March 30,2023l13、知人者智,自知者明。胜人者有力,自胜者强。3月-233月-2314:14:5614:14:56March 30,2023l14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。30 三月 20232:14:56 下午14:14:563月-23l15、最具挑战性的挑战莫过于提升自我。三月 232:14 下午3月-2314:14March 30,2023l16、业余生活要有意义,不要越轨。2023/3/30 14:14:5614:14:5630 March 2023l17、一个人即使已登上顶峰,也仍要自强不息。2:14:56 下午2:14 下午14:14:563月-23MOMODA POWERPOINTLorem ipsum dolor sit amet,consectetur adipiscing elit.Fusce id urna blandit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis ut cursus.感感 谢谢 您您 的的 下下 载载 观观 看看专家告诉