第二章分布式系统的通信-SJTUCS.PDF

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章分布式系统的通信-SJTUCS

第二章 分布式系统的通信 进程间的通信是一切分布式系统的基础, 它基于底层网络提供的底层消息传递机制 •  分层协议 •  远程过程调用 •  远程对象调用 •  面向消息的通信 层次协议 (1) •  OSI 模型中的层、接口和协议 必须在不同层次制订多 种协议,包括从位传输 的底层细节到信息表示 2-1 的高层细节: • 0,1的电压表示 • 消息的结束位 • 检测消息的丢失或损坏 及其处理 • 数值、字符串及其它数 据项的长度和表示方法 • 面向连接的协议:电话 • 无连接的协议:邮箱 层次协议(2) •  在网络上传输的典型消息 2-2 远程过程调用 ( Remote Procedure Call ) RPC是分布式系统通信处理的事实标准 •  常规过程调用 •  客户存根和服务器存根 •  参数传递 常规过程调用 a)  Count=read(fd,buf,nbyte) b)  本地过程调用中的参数传递:调用read前的堆栈状态 c)  过程调用执行时的堆栈状态 客户存根和服务器存根 •  客户和服务器间的RPC原理 远程过程调用步骤 1.  客户过程以正常的方式调用客户存根 2.  客户存根生成一个消息,然后调用本地操作系统 3.  客户端操作系统将消息发送给远程操作系统 4.  远程操作系统将消息交给服务器存根 5.  服务器存根将参数提取出来,然后调用服务器 6.  服务器执行要求的操作,操作完成后将结果返回给服务器 存根 7.  服务器存根将结果打包成一个消息,然后调用本地操作系 统 8.  服务器操作系统将含有结果的消息发送回客户端操作系统 9.  客户端操作系统将消息交给客户存根 10.  客户存根将结果从消息中提取出来,返回给调用它的客户 过程 参数传递-传递值参(1) •  通过RPC进行远程计算的步骤 2-8 传递值参 (2) a)  Penum上的原始消息 b)  SPARC收到的消息 c)  进行逆转后的消息 传递引用参数 •  对于简单数组和结构:使用复制-还原代替引 用调用 •  很难传递一般意义的指针:如复杂图形的指针 参数说明 RPC双方必须就交换的格式达成一致 •  一个过程 •  相应的消息 远程对象调用 •  使用客户端代理的远程对象的一般组织结构 2-16 面向消息的通信 当远程过程调用和远程对象调用不适用时, 需要面向消息的通信。 •  消息中的持久性和同步性 •  面向消息的暂时通信 •  面向消息的持久通信 消息中的持久性和同步性(1) •  通信系统的通用结构 2-20 消息中的持久性和同步性(2) •  在持久通信中,通信双方不必保持运行 •  在暂时通信中,通信系统只在发送者和接收者运行时存储消息 消

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档