Skip to content

08 远程服务调用(下):如何选择适合自己的RPC框架?

你好,我是周志明。

上一讲,我们主要是从学术的角度出发,一起学习了RPC概念的形成过程。今天这一讲,我会带你从技术的角度出发,去看看工业界在RPC这个领域曾经出现过的各种协议,以及时至今日还在层出不穷的各种框架。你会从中了解到RPC要解决什么问题,以及如何选择适合自己的RPC框架。

RPC框架要解决的三个基本问题

在第1讲“原始分布式时代”中,我曾提到过,在80年代中后期,惠普和Apollo提出了网络运算架构(Network Computing Architecture,NCA)的设想,并随后在DCE项目中,发展成了在Unix系统下的远程服务调用框架DCE/RPC

这是历史上第一次对分布式有组织的探索尝试。因为DCE本身是基于Unix操作系统的,所以DCE/RPC也仅面向于Unix系统程序之间的通用。

补充:这句话其实不全对,微软COM/DCOM的前身MS RPC,就是DCE的一种变体版本,而它就可以在Windows系统中使用。

在1988年,Sun Microsystems起草并向互联网工程任务组(Internet Engineering Task Force,IETF)提交了RFC 1050规范,此规范中设计了一套面向广域网或混合网络环境的、基于TCP/IP网络的、支持C语言的RPC协议,后来也被称为是ONC RPC(Open Network Computing RPC/Sun RPC)。