RPC框架


1.RPC介紹

RPC是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的思想。RPC 是一種技術思想而非一種規范或協議,常見 RPC 技術和框架有:

  • 應用級的服務框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。
  • 遠程通信協議:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON)。
  • 通信框架:MINA 和 Netty。

目前流行的開源 RPC 框架還是比較多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等
下面

2.完整的RPC框架

在一個典型 RPC 的使用場景中,包含了服務發現、負載、容錯、網絡傳輸、序列化等組件,其中“RPC 協議”就指明了程序如何進行網絡傳輸和序列化。

3.RPC核心功能

RPC 的核心功能是指實現一個 RPC 最重要的功能模塊,就是上圖中的”RPC 協議”部分:


下面分別介紹核心 RPC 框架的重要組成:

組成 作用
客戶端(Client) 服務調用方
客戶端存根(Client Stub) 存放服務端地址信息,將客戶端的請求參數數據信息打包成網絡消息,再通過網絡傳輸發送給服務端
服務端存根(Server Stub) 接收客戶端發送過來的請求消息並進行解包,然后再調用本地服務進行處理
服務端(Server) 服務的真正提供者
Network Service 底層傳輸,可以是 TCP 或 HTTP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM