RPC、API、REST API

1.RPC

原文:https://blog.csdn.net/u013952133/article/details/79256799

遠程過程調用

首先,要解決通訊的問題,主要是通過客戶端和服務器端之間建立TCP連接,遠程過程調用的所有交換的數據都在這個連接裏傳輸。連接可以是按需連接,調用結束後就斷掉,也可以是長連接,多個遠程過程調用共享一個連接。
第二,要解決尋址的問題,A服務器上的應用要調用B服務器上的應用,A服務器上的應用需要通過底層RPC框架得知:如何連接到B服務器(主機或IP地址)以及特定的端口,方法的名稱等信息,這樣才能完成調用。
第三,A服務器上的應用發起遠程調用時,方法的參數需要通過底層的網絡協議如TCP傳遞到B服務器,由於網絡協議是基於二進制的,內存中的參數需要序列化成二進制形式,然後再通過尋址和傳輸將序列化的二進制發送給B服務器。
第四:B服務器收到請求後,需要進行反序列化,恢復爲內存中的表達方式,然後找到對應的方法進行本地調用並返回,序列化返回值併發送給A服務器。
第五:A服務器收到B服務器的返回值後,進行反序列化,恢復爲內存中的表達方式,然後交給A服務器上的應用進行處理。

運行時,一次客戶機對服務器的RPC調用,其內部操作大致有如下十步:

1.調用客戶端句柄;執行傳送參數

2.調用本地系統內核發送網絡消息

3.消息傳送到遠程主機

4.服務器句柄得到消息並取得參數

5.執行遠程過程

6.執行的過程將結果返回服務器句柄

7.服務器句柄返回結果,調用遠程系統內核

8.消息傳回本地主機

9.客戶句柄由內核接收消息

10.客戶接收句柄返回的數據

2.API

API是Application Programming Interface(應用程序接口)的縮寫,它是拿來描述一個類庫的特徵或是如何去運用它。

3.REST API

REST是Representational State Transfer(表現層狀態轉移)的縮寫,用來描述創建HTTP API的標準方法的,他發現這四種常用的行爲(查看(view),創建(create),編輯(edit)和刪除(delete))都可以直接映射到HTTP 中已實現的GET,POST,PUT和DELETE方法。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章