嫁蝇
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 的概念最早是由施乐公司所提出的 。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. <strong>远程服务调用是指位于互不重合的内存地址空间中的两个程序,在语言层面上,以同步的方式使用带宽有限的信道来传输程序控制信息。</strong> 复制代码 核心观点:
1.RPC(Inter-Process Communication,IPC)实现的技术栈是“进程间通信 ”。
2.RPC 是一种高层次(语言层 )的特征,而不是像 IPC 那样低层次的(系统层 )的特征成为工业界、学术界的主流观点。
3.RPC解决了3个基本问题:如何表示数据、如何传递数据、如何确定方法。
4.RPC发展史,统一到分裂的过程。
2.2 REST
概念:
不同于RPC是一种协议,一种规范。Rest是一种架构风格 (一种基于网络的软件架构设计),本生是开放式的。
核心观点:
1.Rest核心在于“表征状态转移 ”。
2.Rest六大原则,核心是面向资源的设计理念 。
3.Rest优缺点。
=====参考===============
http://icyfenix.cn/architect-perspective/general-architecture/api-style/rpc.html
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
相关推荐