Implementing Remote Procedure Calls学习笔记1
背景
扩展单个电脑单个程序的过程调用,到多台电脑上
优点
简单,干净的语义,高效,通用型。
设计系统需要的问题,
面对机器和通信失败时的精确语义
包含地址参数在缺少共享地址时的语义
将远程调用集成到现有系统中
绑定,调用者怎么决定哪个地址和标识的被调用者
在调用者和被调用者之间传输和控制数据的合适的协议
如何在开发的网络中提供完整性和开发性
目标
最主要的目的是简化分布式计算,以前这个工作通常需要经验丰富的专家,很难做。
希望像本地访问,移除不必要的困难,只留下构建分布式系统的基本困难:时序,组件的独立故障以及独立执行环境的共存。
次要目的是,RPC沟通是高效的
另外,RPC 包的语义尽可能强大,不失简单和高效。
最后的目标是建立安全的连接。
共享内存有2个潜在的问题
首先,远程地址的表示是否可以集成到我们的编程语言(可能还有底层的机器架构)中,而不会产生过度的剧变;
第二,是否可以实现可接受的效率。
结构
user ,user-stub,RPCRuntime,server-stub,server
总结
通读了论文全部,然后再细读,论文包含了,NDREW D. BIRRELL and BRUCE JAY NELSON 对整个系统设计时的思考,能清楚的知道怎么做,以及为什么这么做,设计