一、背景
遠程服務將計算機程式的作業范圍從單機擴展到網路,從本地延伸至遠程,是構建分布式系統的首要基礎,遠程服務呼叫(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.
遠程服務呼叫是指位于互不重合的記憶體地址空間中的兩個程式,在語言層面上,以同步的方式使用帶寬有限的信道來傳輸程式控制資訊,
核心觀點:
- 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
------------------個人能力有限,大家多交流,一起壯哉我大JAVA!------------------如果你覺得本文對你有點幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/544501.html
標籤:架構設計
上一篇:【23種設計模式大全】Java/JS/TS/Python/Go不同語言實作
下一篇:專案開發軟體架構選擇指南
