找回密码
 立即注册
首页 业界区 业界 远程服务调用(RPC与Rest本质区别)

远程服务调用(RPC与Rest本质区别)

嫁蝇 2025-6-6 08:53:22
一、背景

 远程服务将计算机程序的工作范围从单机扩展到网络,从本地延伸至远程,是构建分布式系统的首要基础。远程服务调用(Remote Procedure Call,RPC)在计算机科学中已经存在了超过四十年时间。但很多人无法明确区分RPC与Rest。本文就讲一讲RPC和Rest的本质区别。
 
二、分析

2.1 RPC

概念:

20 世纪 80 年代初期,传奇的施乐 Palo Alto 研究中心发布了基于 Cedar 语言的 RPC 框架 Lupine,并实现了世界上第一个基于 RPC 的商业应用 Courier,这里施乐 PARC 所定义的“远程服务调用”的概念就是完全符合以上对 RPC 的结论的,所以,尽管此前已经有用其他名词指代“调用远程服务”这种操作,一般仍认为 RPC 的概念最早是由施乐公司所提出的
  1. Remote procedure call is the synchronous language-level transfer of control between programs in disjoint address spaces whose primary communication medium is a narrow channel.
  2. <strong>远程服务调用是指位于互不重合的内存地址空间中的两个程序,在语言层面上,以同步的方式使用带宽有限的信道来传输程序控制信息。</strong>
复制代码
核心观点:


  • 1.RPC(Inter-Process Communication,IPC)实现的技术栈是“进程间通信”。
  • 2.RPC 是一种高层次(语言层)的特征,而不是像 IPC 那样低层次的(系统层)的特征成为工业界、学术界的主流观点。
  • 3.RPC解决了3个基本问题:如何表示数据、如何传递数据、如何确定方法。
  • 4.RPC发展史,统一到分裂的过程。
1.png

 
 
2.2 REST

概念:

不同于RPC是一种协议,一种规范。Rest是一种架构风格(一种基于网络的软件架构设计),本生是开放式的。
核心观点:


  • 1.Rest核心在于“表征状态转移”。
  • 2.Rest六大原则,核心是面向资源的设计理念
  • 3.Rest优缺点。
2.png

 
 
=====参考===============
http://icyfenix.cn/architect-perspective/general-architecture/api-style/rpc.html

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册