RESTful架構與RPC架構

2021-10-05 13:34:53 字數 1310 閱讀 6055

restful架構中,關注點在於資源,操作資源時使用標準方法檢索並操作資訊片段,在rpc架構中,關注點在於方法,呼叫方法時將像呼叫本地方法一樣呼叫伺服器的方法。

rest即表述性狀態傳遞representational state transfer,是一種軟體架構風格,也可以稱作是一種設計api的模式,rest通過http協議定義的通用動詞方法getpostputdelete,以uri對網路資源進行唯一標識,響應端根據請求端的不同需求,通過無狀態通訊,對其請求的資源進行表述,符合rest設計規範的架構就稱為restful架構。

安全性是指訪問rest介面時不會對服務端資源狀態發生改變。

冪等性是指對於同一rest介面的uri多次訪問時,得到的資源狀態是相同的。

rpc即遠端過程呼叫remote procedure call,簡單的理解是乙個節點請求另乙個節點提供的服務,遠端過程呼叫,是相對於本地過程呼叫來說的,當呼叫方法時就像呼叫本地方法一樣呼叫遠端伺服器的方法,做到了輕量、無感知通訊。

客戶端 

1. 將這個呼叫對映為call id

2. 將這個call id與引數等序列化,以二進位制形式打包

3. 將序列化資料報通過網路通訊傳送到服務端

4. 等待服務端響應

5. 服務端呼叫成功並返回結果,反序列化後進行下一步操作

服務端

1. 在本地維護乙個call id的map,用以保證id與呼叫方法的對應

2. 等待客戶端請求

3. 得到乙個請求後,將資料報反序列化,得到call id與引數等

4. 通過map尋找call id所對應的函式指標

5. 通過函式指標呼叫函式,並將資料報反序列化後的引數傳遞,得到結果

6. 將結果序列化之後通過網路通訊返回到客戶端

注:此處的客戶端指的是本地呼叫者,也可以是一台伺服器

此處的服務端指的是被呼叫者,也可以是一台伺服器

資料報通訊時無論是使用socket進行tcp傳輸,或使用http進行傳輸都是可行的

RESTful架構與RPC架構

在restful架構中,關注點在於資源,操作資源時使用標準方法檢索並操作資訊片段,在rpc架構中,關注點在於方法,呼叫方法時將像呼叫本地方法一樣呼叫伺服器的方法。rest即表述性狀態傳遞representational state transfer,是一種軟體架構風格,也可以稱作是一種設計api的模...

RESTful架構與RESTful API設計

rest這個詞是roy thomas fielding博士在他2000年的博士 中提出的,fielding將他對網際網路軟體的架構原則定名為rest,即representational state transfer的縮寫,翻譯為 表現層狀態轉化 如果乙個架構符合rest原則,就稱它為restful架...

理解RESTful架構

理解restful架構 restful的精闢理解 看url就知道要什麼 看http method就知道幹什麼 看http status code就知道結果如何 rest不是 rest 這個單詞,而是幾個單詞縮寫。但即使那幾個單詞說出來,也無法理解在說什麼 不是要貶低人,是我自己也理解困難 rest描...