定義
RPC(Remote Procedure Call Protocol)遠程過程調用協議,使得我們客戶端在不知道調用細節的情況下去調用遠程計算機的某個程序中的某個函數時,就跟調用本地函數一樣。
RPC協議其實是一個規範,其實現框架有Dubbo、Thrift、RMI、WebService、Hessain等。RPC框架的特點是網絡協議和網絡IO對於調用端和服務端是透明的。RPC框架會封裝隱藏底層的通信細節和網絡IO細節。
服務調用方與服務提供方的調用流程:
一個RPC框架應該具有的要素:
- RPC客戶端:也就是服務調用方。
- RPC服務端:也就是服務提供方。
- RPC代理層:用於客戶端與服務端的調用細節。對外提供簡單的API供我們使用。
- 消息處理層:對傳輸數據進行處理,序列化等操作的細節進行封裝。
- 傳輸層:對兩臺計算機之間進行遠程調用的數據傳輸細節進行封裝。