第二章·分布式计算范型

本文介绍了分布式计算的四种主要范型:消息传递、客户/服务器、P2P和消息系统。消息传递是最基本的范型,常用于进程间通信。客户/服务器范型在互联网服务中广泛应用,如HTTP、FTP等。P2P范型强调平等的参与者,如Napster音乐共享服务。消息系统范型包括点对点和发布/订阅模型,提供异步通信。此外,还讨论了远程过程调用、分布式对象、网络服务、移动代理和云计算服务范型。
摘要由CSDN通过智能技术生成

2.1消息传递范型
消息传递时进程间通信的基本途径。如图2-1所示,在消息传递范型中,表示信息的数据在两个进程(进程A和进程B)间交换:一个是发送者,一个是接收者。
消息传递是分布式应用的最基本范型。
在这里插入图片描述
消息传递是分布式应用的最基本范型。-个进程发送代表请求的消息,该消息被传送到接收者;接收者处理该请求,并发送一条应答消息。后,该应答消息可能触发下一个请求,并引起下一个应答消息。如此不断反复传递消息,实现两个进程间的数据交换。消息传递范型的基本操作为send和receive。对于面向连接的通信来说,还需要connect操作和disconnect操作。利用该模型提供的抽象,互连进程在彼此之
间执行输入操作和输出操作,操作方式类似于文件的输入操作和输出操作。和文件I/O相似,这些操作封装了操作系统层的网络通信细节,因此,程序员可以使用这些操作发送和接收消息,而不必关注操作系统底层的通信细节。基于该范型的开发工具有Socket应用程序接(Socket API)和信息传递接口(Message Passing Interface, MPI) 等。利用Socket API接口,可以使不同主机或者同-台计算机上的进程间相互通信,Socket API接口允许应用程序控制和使用网络里的套接字进行消息传递。- -般的Socket API都是基于伯克利套接字(Berkeley Socket)标准的。在后面的内容中,我们将使用Java Socket API提供的方法或函数在进程间传递消息。信息传递接口是一一个并行计算的信息传递应用程序接口,包括协议和语义说明,它们指明其如何在各种实现中发挥其特性,常在超级计算机、计算机簇等非共享内存环境程序设计。MPI属于OSI参考模型的第五层或更高,但它的实现可能通过传输层Socket覆盖大部分层,因此,拥有良好的可移植性和速度。大部分的MPI实现由一些API组成,可由Java或C语 言等直接调用。消息传递模式是最基本的传递消息的范型,很多即时通信工具(如QQ等)都是
基于该范型的具体应用。
2.2 客户/服务器范型
客户/服务器范型(简称C/S范型)是网络应用中使用最多的一种分布式计算范型,该模型将非对称角色分配给两个协作进程。其中,服务器进程(server process)扮演服务提供者角色,被动地等待请求的到达;客户进程(client process)向服务器发起请求,并等待服务器响应。
如图2-2所示,客户/服务器范型的概念很简单,它有效地抽象了网络服务的请求,客户进程发起请求和接收响应。通过为双方分配非对称的角色,即服务器进程监听和接收请求,客户进程发送请求和接收响应。进程间的事件同步也被简化了:服务器进程等待来自客户的请求,客户进程则等待来自服务器的响应。
在这里插入图片描述
有许多Internet服务都是基于客户/服务器范型的应用,我们称它们为客户/服务器应用。这些服务通常根据它们所实现的协议来命名。比较著名的Internet服务包括HTTP、FTP、 DNS、finger和gopher等。当前最流行的互联网应用WWW (或称为Web)是基于客户/服务器范型的一个典型分布式应用。它由Web服务器进程和浏览器客户进程构成。Web服务器进程不断侦听从Web浏览器进程发出的请求,服务器处请求并发送响应。- -旦收到应答后,浏览器进程解释收到的响应,并将文档显示出来。浏览器客户进程负责发送请求和接收响应。Web应用的原理是基于HTTP协议的客户/服务器应用,在后面的内容将更具体地介绍HTTP协议。
2.3 P2P范型
P2P (Peer-to-Peer) 范型源于P2P网络(又称为对等计算网络)。P2P网络是无中心服务器,依赖用户群交换的互联网体系。与客户/服务器结构的系统不同,在P2P网络中,每个用户端既是一个结点,又有服务器的功能,任何

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值