Web服务原理和技术分布式计算的基础架_第1页
Web服务原理和技术分布式计算的基础架_第2页
Web服务原理和技术分布式计算的基础架_第3页
Web服务原理和技术分布式计算的基础架_第4页
Web服务原理和技术分布式计算的基础架_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、第二部分:核心基础架构第2章:分布式计算的基础架构山东大学计算机学院第2章:分布式计算的基础架构分布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步方式中间件的异步方式面向消息的中间件山东大学计算机学院分布式系统分布式系统是网络化的计算机集合,这些计算机之间能够互相通信并能通过传递消息来协调它们的运行对比:联网在一起的多台计算机分布式系统包含大量的运行单元(或称计算单元)自治:任何时候对它们自己都是完全控制的没有集中控制主机:驻留了分布式系统的一些单元异构并发执行山东大学计算机学院分布式系统的特征多个进程不仅在一个处理器上执行,而且能够在多个处理器上执行进程间的通信机制可能会有许

2、多不同类型的故障网络故障 互连在一起的计算机无法进行相互间的通信计算机故障、应用程序崩溃 其他的单元无法立即通过通信检测到分布式计算在多个方面都取得了很大的进展进程间通信、远程调用技术、分布式命名、安全机制、分布式文件系统、数据复制、分布式事务机制山东大学计算机学院互联网协议对于跨互联网的数据传输,互联网协议至关重要互联网协议定义了两个或多个通信实体之间进行信息交换的格式和顺序,以及定义了消息或事件的传输不/或接受的行为传输控制协议(TCP)和互联网协议(IP)IP协议:不同主机之间的报文的不可靠传送TCP协议:增加了连接和可靠性互联网协议地址(IP地址)IPv4;IPv6山东大学计算机学院开

3、放系统互联模型(OSI)山东大学计算机学院OSI七层模型物理层:物理链路所需的电气需求、机械需求、过程需求及功能需求数据链路层:网络实体之间传送数据、检测甚至修复物理层错误网络层:网络路由、流量控制、组包和拆包、差错控制传输层:提供终端用户之间的透明的数据传输会话层:负责建立、管理、终止表示层实体之间的会话表示层:数据压缩不恢复、数据加密不解密应用层:提供访问OSI网络的接口,并完成应用程序所需的公共应用服务山东大学计算机学院TCP/IP协议山东大学计算机学院TCP/IP协议数据链路层:到实际的网络硬件的接口互连网络层:数据报的路由IP协议:提供了路由功能,可将所传送的消息发送到它们的目的地无

4、连接的协议,并提供可靠性、流量控制、错误校验等功能传输层:提供端到端的数据传输、并可以同时支持多个应用程序TCP协议:提供了面向连接的可靠的数据传送、重复数据抑制、拥塞控制及流量控制应用层:支持网络应用山东大学计算机学院常用端口及与这些端口相对应的应用应 用端 口文件传输协议(FTP)21远程登录(Telnet)23简单邮件传输协议(SMTP)25超文本传输协议(HTTP)80网络新闻传输协议119山东大学计算机学院中间件中间件是一种连接软件,在不同系统间建立桥接,以便在这些系统之间能够相互通信和传输数据,从而有助于管理分布式系统所固有的复杂性和异构性可视为一个软件服务层无论底层所采用的通信协

5、议、系统体系结构、操作系统、数据库及其他的应用服务是否相同,应用单元都可以跨网络进行互操作提供了一个简单的、一致的、集成的分布式编程环境实质上是一个分布式软件层山东大学计算机学院中间件的层次中间件层位于应用程序与互联网传输协议之间中间件抽象包含两层底层涉及分布式系统中的进程间的通信协议上层主要关于进程间通信的机制 应用和服务 不基于消息的方式 | 基于消息的方式 进程间通信和串行化的基础架构 互联网传输层协议中间件层山东大学计算机学院第2章:分布式计算的基础架构分布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步方式中间件的异步方式请求/应答的消息传送方式面向消息的中间件面向事务

6、的中间件企业应用与电子商务的集成小结山东大学计算机学院第2章:分布式计算的基础架构分布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步方式中间件的异步方式面向消息的中间件山东大学计算机学院客户 服务器模型数据控制的集中化 vs. 数据访问的分布性客户/服务器模式成为一个最通用的解决方案之一客户端进程:请求服务器进程(服务提供者)的服务服务器也可以是其他服务器的客户端客户/服务器计算不强调硬件差别,而是强调它们实际应用的差异对于互联网应用来说,客户/服务器模型是最盛行的结构万维网、电子邮件、文件传送、远程登录、新闻组瘦客户端、胖客户端山东大学计算机学院第2章:分布式计算的基础架构分

7、布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步方式中间件的异步方式面向消息的中间件山东大学计算机学院进程间通信的特性通过跨计算机网络交换消息,在两个不同的终端系统(很有可能采用了不同的操作系统)上的进程相互之间可以通信山东大学计算机学院消息发送消息发送时一种能够可靠发送的通信技术,可支持高速、异步、程序到程序间的通信程序间通过发送数据包进行相互间的通信,所发送的数据包称做消息消息是一个定义明确的、数据驱动的文本格式消息能够在两个或多个应用程序之间发送,所发送的消息可包含业务信息和网络路由标头消息通常包含3个部分:头部、属性和有效载荷(消息体)头部:消息目的地、消息类型、消息的

8、失效时间属性:应用程序定义的多个名/值对山东大学计算机学院消息通信操作Send一个进程将消息发送到目的地Receive一个进程在目的地接收消息在相互交互的进程间所交换的消息由字节序列组成数据结构必须是扁平的(能够转换为字节序列)需要采用一种特定的数据编组技术Java和XML中,串行化(serialization)应用层协议定义了进程间交换消息的格式和顺序,并定义了消息发送或消息接收所需进行的操作山东大学计算机学院消息目的地和socket进程间通信时,进程可能会使用多个端口接收消息消息能够发送到某一具体的(IP地址,本地端口号)缺陷:为了保持地址有效,服务必须一直在同一台计算机上运行客户端通过名

9、字来引用服务使用操作系统提供的位置独立型标识符进程通过套接字(socket)在网络上发送、接收消息Socket必须绑定到一个本地端口,并且必须指明进程所在的计算 机的IP地址山东大学计算机学院同步方式和异步方式的消息发送通信有两类不同的基本方式具有依时性的同步方式在两个通信应用系统之间必须要进行同步,两个系统必须都在正常运行,并且会中断客户端的执行流,转而执行调用与时间无关的异步方式调用者在发送消息以后可以不再等待响应,可以接着处理其他任务通常使用排队机制来实现存储/转发、发布/订阅山东大学计算机学院第2章:分布式计算的基础架构分布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步

10、方式中间件的异步方式面向消息的中间件山东大学计算机学院中间件的同步方式对与基于消息方式的中间件,最常见的方式是:远程过程调用(RPC)远程方法调用(RMI)山东大学计算机学院远程过程调用RPC是一种中间件机制,用于调用远程系统中的过程,远程系统中的过程返回相应的结果应用单元相互之间进行同步通信,使用请求/等待响应模型RPC的编程风格故意模拟了串行化线程的执行RPC是实现客户/服务器应用的一种最简单的方式山东大学计算机学院RPC通信客户桩:支持RPC的代理程序,模拟了远程对象和方法的接口客户桩使用RPC运行时库与服务器桩进行通信山东大学计算机学院RPC应用RPC适用于小型的简单应用 通信主要是点

11、对点方式,而不是一个系统对多个系统的方式RPC将许多重要的细节都交由编程人员处理RPC所导致的紧耦合的接口和应用 RPC的同步特性,将客户端和服务器端紧耦合在一起使用RPC进行通信的主要技术 CORBA、RMI、DCOM、Active X、Sun-RPC、JAX-RPC、SOAP对于构建需要高性能、高可靠性的企业级应用来说,RPC不是一个好选择山东大学计算机学院远程方法调用对于Java对象的分布式计算,Java远程方法调用基于RPC机制提供了一个简单、直接的模型RMI调用由两个不同的程序组成:服务器端和客户远程方法调用可以使用两种不同的类远程类:远程对象是远程类的实例串行化类:串行化对象是串行

12、化类的实例可以将串行化对象从一个地址空间拷贝到另一个地址空间山东大学计算机学院第2章:分布式计算的基础架构分布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步方式中间件的异步方式面向消息的中间件山东大学计算机学院异步接口的松耦合方式应用无须了解与其进行交互的其他应用的错综复杂的服务接口异步通信对于松耦合技术的应用是一个推动 存储/转发方法 发布/订阅方法:应用了事件通知的原理山东大学计算机学院消息的存储与转发通过存储与转发排队机制,发送程序可将消息发送到一个称为消息队列的虚拟信道中,接收程序可根据需要从消息队列中接收消息消息队列既是发送者发送消息的目的地,也是接受者接收消息的消息

13、源,发送者和接收者通过队列交换消息消息队列是一个驻留消息的容器,直到接收者从队列中接收到消息消息队列独立于发送程序和接收程序,在进行通信的应用之间充当缓冲区 应用#1 PUT消息 () 队列 () 应用#2 GET消息 任何一个应用都不了解队列的物理位置,也不了解任一主机平台的物理细节山东大学计算机学院消息传送准确的一次性传送确保能够将消息可靠地传送到最终目的地,并且没有重复发送至少一次传送保证能够将消息至少一次发送到它们的目的地至多一次传送保证能够将消息至多一次传送到它们的目的地意味着消息传送系统可以因为硬件、软件、网络故障等问题偶尔丢失一些消息,因此对于QoS的要求比较低山东大学计算机学院

14、消息的发布与订阅与存储与转发方式相比,消息的发布/订阅方式的可伸缩性稍大一点发布/订阅消息传送的流程 假设发布者应用发布了一个具体主题的消息,诸如向零售商发送新产品的价格或新产品的描述。多个订阅应用都可以订阅该主题,并接收发布应用所发布的消息发布者将消息发布到特定主题消息服务器记录所有的消息,当前处于活动状态的长期订阅者一旦将消息发布到某一个具体的主题,这些消息就将分发到它们的订阅者山东大学计算机学院存储与转发排队机制是多对一消息传送多个应用可向同一个应用发送消息一个应用既可以是发送者,又可以是接收者,或同时是两者消息排队提供了更高的可靠性多个消息服务器通过网络链接在一起 要求能够跨多个消息服

15、务器重复进行存储与转发消息确认使得消息传递系统能够监控消息传送的情况,从而能够知道何时成功完成消息的发送山东大学计算机学院消息服务器、订阅者消息服务器负责向订阅了主题的订阅应用发送被发布的消息 有效期处于活动状态的订阅者订阅了但不处于活动状态的订阅者,且在有效期内连接到消息服务器所有订阅者都有一个消息事件侦听程序使用过滤表达式对消息的标题和属性进行评判 实时修改订阅列表消息的发布者不期望回复,只要确认合作伙伴已经收到信息即可山东大学计算机学院第2章:分布式计算的基础架构分布式计算与互联网协议客户-服务器模型进程间通信的特性中间件的同步方式中间件的异步方式面向消息的中间件山东大学计算机学院面向消息的中间件面向消息的中间件(MOM)是一个基础架构,它使用普通的通信信道在应用之间传送数据消息的发送者不接收者MOM位于客户端和服务器之间,并处理客户端和服务器之间的异步调用山东大学计算机学院MOM的作用不仅仅是传递信息数据转换、安全性、将数据传送给多个程序、故障恢复、查找网络资源成本路由、确定消息和请求的优先级、调试MOM消息传送系统帮助将长时间运行的任务划分为多个事务与RPC和ORB(对象请求代理)产品相反,MOM不要求存在一个可靠的传输层当传输层并不可靠

温馨提示

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

评论

0/150

提交评论