利用rpcgen构建分布式程序的8个步骤---学习笔记

构建分布式程序的8个步骤(rpcgen

一、构建常规应用程序

要构建这个字典应用例子的分布式版本,第一步要求程序员构造解决问题的常规程序。

最初这个字典应用的过程组织情况

二、将程序划分为两个部分。

在考虑哪一个过程可以转移到远程机器上时,程序员必须考虑每一个过程所需要的设施,比如过程nextin在每一次被调用时要读取下一输入行,并对它进行分析,因为它要访问程序的标准输入文件,所以nextin必须放在主程序中。程序员还必须考虑每个过程所要访问的数据所处的位置。

     执行I/0或者访问文件描述符的过程不能轻易地转移到远程机器中。

     执行过程的机器应当与放置过程所要访问数据的机器是同一台。将巨大的数据结构传递给远程过程的效率很低。(可是是远程机器,也可是客户主机器)

     在考虑了最初的字典应用程序以及每个过程要访问的数据之后,很明显应当把过程insertwdeletewinitwlookupw和字典本身放在同一台机器中。下图表示了应用程序的划分。

在这个划分的基础上,将程序分解为本地和远程两个构建。

Dict1.c含有主程序和过程nextin

Dict2.c包含了来自最初的应用程序的一些过程,他们将成为远程程序的一部分。另外,它还包含对各个过程要共享的全局数据的声明。

分别编译这两个文件,产生两个构件的目标文件,这些构件必须连接到一起以产生可执行的程序。

三、创建rpcgen规约

程序员一旦为某个分布式程序选择了一种结构,就可以准备rpc规约了,从本质上说,rpcgen规约文件包含了对远程程序的声明以及它所使用的数据结构。

规约文件包含:

声明在客户或者服务器中共享使用的常量

声明客户和服务器之间要共享使用的数据类型

声明远程程序,每个程序中所包含的过程以及它们的参数类型

Rpc使用一些数字来标识远程程序以及在这些程序中的远程过程。在规约文件中的程序声明定义了诸如程序的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值