Javaweb開發從入門到實戰pdf

什麼是 RPC?RPC原理是什麼?

什麼是 RPC?

RPC(Remote Procedure Call)—遠程過程調用,它是一種經過網絡從遠程計算機程序上請求服務,而不須要了解底層網絡技術的協議。好比兩個不一樣的服務 A、B 部署在兩臺不一樣的機器上,那麼服務 A 若是想要調用服務 B 中的某個方法該怎麼辦呢?使用 HTTP請求 固然能夠,可是可能會比較慢並且一些優化作的並很差。 RPC 的出現就是爲了解決這個問題。web

RPC原理是什麼?

Javaweb開發從入門到實戰pdf

  1. 服務消費方(client)調用以本地調用方式調用服務;
  2. client stub接收到調用後負責將方法、參數等組裝成可以進行網絡傳輸的消息體;
  3. client stub找到服務地址,並將消息發送到服務端;
  4. server stub收到消息後進行解碼;
  5. server stub根據解碼結果調用本地的服務;
  6. 本地服務執行並將結果返回給server stub;
  7. server stub將返回結果打包成消息併發送至消費方;
  8. client stub接收到消息,並進行解碼;
  9. 服務消費方獲得最終結果。

下面再貼一個網上的時序圖:面試

Javaweb開發從入門到實戰pdf

RPC 解決了什麼問題?

從上面對 RPC 介紹的內容中,歸納來說RPC 主要解決了:讓分佈式或者微服務系統中不一樣服務之間的調用像本地調用同樣簡單。後端

常見的 RPC 框架總結?

  • RMI(JDK自帶):?JDK自帶的RPC,有不少侷限性,不推薦使用。瀏覽器

  • Dubbo:?Dubbo是 阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可經過高性能的 RPC 實現服務的輸出和輸入功能,能夠和 Spring框架無縫集成。目前 Dubbo 已經成爲 Spring Cloud Alibaba 中的官方組件。markdown

  • gRPC?:gRPC是能夠在任何環境中運行的現代開源高性能RPC框架。它能夠經過可插拔的支持來有效地鏈接數據中心內和跨數據中心的服務,以實現負載平衡,跟蹤,運行情況檢查和身份驗證。它也適用於分佈式計算的最後一英里,以將設備,移動應用程序和瀏覽器鏈接到後端服務。網絡

  • Hessian:?Hessian是一個輕量級的remotingonhttp工具,使用簡單的方法提供了RMI的功能。 相比WebService,Hessian更簡單、快捷。採用的是二進制RPC協議,由於採用的是二進制協議,因此它很適合於發送二進制數據。併發

  • Thrift:?Apache Thrift是Facebook開源的跨語言的RPC通訊框架,目前已經捐獻給Apache基金會管理,因爲其跨語言特性和出色的性能,在不少互聯網公司獲得應用,有能力的公司甚至會基於thrift研發一套分佈式服務框架,增長諸如服務註冊、服務發現等功能。

最後

總而言之,面試官問來問去,問的那些Redis知識點也就這麼多吧,複習的不夠到位,知識點掌握不夠熟練,因此面試纔會卡殼。將這些Redis面試知識解析以及我整理的一些學習筆記分享出來給你們參考學習框架

有須要這些學習筆記資料的朋友注意啦:戳這裏便可免費領取分佈式

還有更多學習筆記面試資料也分享以下(均可免費領取):ide

都是「Redis惹的禍」,害我差點掛在美團三面,真是「虛驚一場」

Javaweb開發從入門到實戰pdf

相關文章
相關標籤/搜索