rpc系列-簡介1

一.基礎

  本人從事大數據行業,故此做系列的博文,爲以後開發分佈式計算基礎服務做準備,這個系列重點了解一些rpc的思路,用什麼組件實現的不重要。

技術棧:

動態代理:https://blog.csdn.net/qq_19968255/article/details/82885416

zookeeper:https://blog.csdn.net/qq_19968255/article/details/82885663

線程:https://blog.csdn.net/qq_19968255/article/details/82881794

反射:https://blog.csdn.net/qq_19968255/article/details/82883570

netty:https://blog.csdn.net/qq_19968255/article/details/82734129

 

二.簡介

  RPC—遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,爲通信程序之間攜帶信息數據。在OSI網絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發包括網絡分佈式多程序在內的應用程序更加容易。

  RPC採用客戶機/服務器模式。請求程序就是一個客戶機,而服務提供程序就是一個服務器。首先,客戶機調用進程發送一個有進程參數的調用信息到服務進程,然後等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息到達爲止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答覆信息,然後等待下一個調用信息,最後,客戶端調用進程接收答覆信息,獲得進程結果,然後調用執行繼續進行。

 

三.原理

運行時候,內部操作步驟:

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

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

3.消息傳送到遠程主機

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

5.執行遠程過程

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

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

8.消息傳回本地主機

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

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

 

四.結構

一般開發rpc的結構

 

五.異常

rpc調用和本地調用的區別:

1.rpc調用有網絡問題,可能發送不到服務端,本地調用一定會執行。

2.rpc調用還會拋出rpc框架運行時候其它異常,本地調用只會拋出接口聲明的異常。

3.兩者性能方面可能差距很大,這取決於rpc固有消耗所佔的比重,計算任務時間非常高,才值得使用rpc發送到服務端,單獨進程完成分佈式計算任務。

rpc異常策略:

可能是運行時候異常,可能是業務異常,需要區分對待。

 

未完待續!

rpc系列-rpc02:https://blog.csdn.net/qq_19968255/article/details/82896520

 

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