2.1.1 RPC技術

RPC是什麼

在這裏插入圖片描述
過程是什麼?

過程就是業務處理、計算任務,更直白理解,就是程序。(像調用本地方法一樣調用遠程的過程。)
RPC採用Client - Service結構,通過request - response消息模式實現。

  • RPC 和 RMI有什麼區別?

RMI(remote method invocation) 遠程方法調用是oop領域中RPC的一種具體實現。(JDK中的具體實現。)

  • 我們熟悉的webservice、restful接口調用是RPC嗎?

都是RPC,僅消息的組織方式及消息協議不同。

  • 遠程過程調用較本地調用有何不同?

速度相對慢、可靠性減弱。

RPC的流程

在這裏插入圖片描述

RPC流程中需要處理的問題

  1. Client stub 、 Server stub的開發;
  2. 參數如何編組爲消息,以及解組消息;
  3. 消息如何發送;
  4. 過程結果如何表示、異常情況如何處理;
  5. 如何實現安全的訪問控制。

RPC協議是什麼?

RPC調用過程中需要將參數編組爲消息進行發送,接收方需要解組消息爲參數,過程處理結果同樣需要經編組、解組。消息由哪些部分構成及消息的表示形式就構成了消息協議。

RPC調用過程中採用的消息協議稱爲RPC協議

RPC協議規定請求、響應消息的格式:
在TCP(網絡傳輸控制協議)上可選用或自定義消息協議來完成RPC消息交互

我們可以選用通用的標準協議(如:http、https),也可根據自身的需要定義自己的消息協議!

常見RPC協議

在這裏插入圖片描述

RPC框架是什麼?

封裝好參數編組、消息解組、底層網絡通信的RPC程序開發框架,帶來的便捷是可以直接在其基礎上只需專注於過程代碼編寫

Java領域:

  • 傳統的webservice框架: Apache CXF、Apache Axis2、Java 自帶的 JAX - WS等等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章