- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
!-
分布式系统的重要不言而喻, 下面是使用 rpcgen 工具构建一个分布式程
序的例子, 其实主要就是TCP/IP 进行网际互联卷 3 上面的那个例子, 就是
下面这本书.
另外还参考了分布式系统 原理与范例这本书, 即 Andrew S. Tanenbaum 写
的这本, 这本书是学习分布式的必读书之一. 相当不错.精品文档放心下载
整个文章分为三部分, 第一部分是对 RPC(远程过程调用)的一个介绍, 第二部
分是对使用 rpcgen 构建分布式程序的一个介绍, 第三部分是使用 rpcgen 构
建分布式程序的详细步骤.精品文档放心下载
可以先按照第三部分的步骤自己先试试, 如果有兴趣再回过头来看它的介绍.
另外, 我写的这个只是一个入门, 如果以后有机会再详细地讨论一下内部的机
理. 事情总是一步一步来的.精品文档放心下载
一. RPC 概念
1.1 介绍
在中间件的实现中,引入了远程过程调用 RPC (Remote Procedure Call)的
概念。同时,许多分布式系统是基于进程间的显式消息交换的,然而消息的发
送和接收过程无法隐藏通信的存在,而通信的隐藏对于在分布式系统中实 现访
问透明性是极为重要的。因此这个问题在很长一段时间内都没有找到合适的解
决办法,后来 Birrel 和 Nelson 在 1984 年的一篇论文中引入了一套 与传统
方法截然不同的通信处理手段。他们认为应该允许程序调用位于其它机器上的
进程。当机器 A 上的进程调用 B 上的进程时,A 上的调用进程被挂起,而 B
上的 被调用进程开始执行。调用方可以通过使用参数将信息传送给被调用方,
然后可以通过传回的结果得到信息。编程人员看不到任何消息传递过程。这种
方法就称为远 程过程调用 RPC。目前,RPC 作为一种广泛使用的技术,已成为
许多分布式系统的基础。精品文档放心下载
1.2 构建分布式程序的两种模式
在设计分布式应用时,程序员可以使用下列两种方法之一:精品文档放心下载
面向通信的设计
由通信协议开始。设计报文格式和语法,指明对每个传入报文将如何反应以
及如何产生每个外发报文,以此来设计客户和服务器各构件。面向应用的设计精
品文档放心下载
由应用开始。设计常规的应用程序来解决问题。构建并测试可在单台机器上
运行的常规程序的工作版本。将这个程序划分成两个或多个程序片,加入通信
协议以允许每片程序在单独的计算机上执行。感谢阅读
远程过程调用模型使用面向应用的方法,它强调的是所要解决的问题而不是
所需要的通信。利用远程过程调用,程序员首先设计一个解决问题的常规程序,
接着将其 划分成若赶干片,这些程序片运行在两台或更多的计算机上。程序员
可遵循良好的设计原则,以便使代码模块化并且可维护。精品文档放心下载
在理想的情况下,远程过程调用提供的不只是抽象上的概念。它允许程序员在感谢阅读
将一个程序划分成若干片之前,先构建,编译和测试一个解决该问题的常规程序感谢阅读
的版 本,以便确保能够正确解决问题。不但如此,因为 RPC 以方法调用为边界感谢阅读
划分程序,所以将程序划分为本地部分和远程部分并不会引起程序结构的很大变精品文档放心下
载
化。实际 上,将某些过程从一个程序转移到远程机器上时,有可能不需要改变。感谢阅读
!-
1.3 常规过程调用的概念性模型
如下图所示,为常规的程序调用。
本地过程调用.jpg
1.4 远程过程调用模型
远程过程调用模型使用了和常规程序一样的过程抽象,但是它允许一个过程
的边界跨越两台计算机。如下图所示。精品文档放心下载
远程过程调用.jpg
1.5 常规过程调用的执行和返回
程序从一个主程序开始执行,并一直继续下去,直到遇到一个过程调用。这
个调用使程序的执行转入到某个指定的代码处继续执行。常规过程调用的执行
流程如下图所示:谢谢阅读
!-
常规过程调用.jpg
1.6 分布式系统的过程模型
在分布式系统中,其中的某个过程有可能在另外的机器上,因此,其调用过
程模型如下图如示:谢谢阅读
分布式中的过程调用.jpg
1
文档评论(0)