日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

RPC接口简介「建议收藏」(一文带你搞懂RPC)

發布時間:2023/12/25 综合教程 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 RPC接口简介「建议收藏」(一文带你搞懂RPC) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是RPC

RPC(Remote Procedure Call Protocol)遠程過程調用協議。一個通俗的描述是:客戶端在不知道調用細節的情況下,調用存在于遠程計算機上的某個對象,就像調用本地應用程序中的對象一樣。比較正式的描述是:一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。

RPC的特點:

  1. RPC是協議。只是協議,而非實現。RPC實現包括:Dubbo、Thrift、GRPC、Hetty等。
  2. 網絡協議和網絡IO模型對其透明。RPC的客戶端認為自己是在調用本地對象,因此其對使用的網絡協議(HTTP協議等)以及網絡IO模型,是不關心的。
  3. 信息格式對其透明。調用方法是需要傳遞參數的,對于遠程調用來說,傳遞過程中參數的信息格式是怎樣構成,以及提供者如何使用這些參數,都是不用關心的。
  4. 有跨語言能力。因為調用方實際上也不清楚遠程服務器的應用程序是使用什么語言運行的。那么對于調用方來說,無論服務器方使用的是什么語言,本次調用都應該成功,并且返回值也應該按照調用方程序語言所能理解的形式進行描述。

常用的RPC框架:

  1. Thrift:thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發,包括 C++, Java, Python等多種編程語言。
  2. Dubbo:Dubbo是一個分布式服務框架,以及SOA治理方案。其功能主要包括:高性能NIO通訊及多協議集成,服務動態尋址與路由,軟負載均衡與容錯,依賴分析與降級等。
  3. Spring Cloud:提供了搭建分布式系統及微服務常用的工具,滿足了構建微服務所需的所有解決方案。
  4. gRPC: 一開始由 google 開發,是一款語言中立、平臺中立、開源的遠程過程調用(RPC)系統。

RPC接口與HTTP對比

  1. 傳輸協議。RPC:可以基于TCP協議,也可以基于HTTP協議;HTTP:基于HTTP協議
  2. 傳輸效率。RPC:使用自定義的TCP協議,可以讓請求報文體積更小,或者使用HTTP2協議,也可以很好的減少報文的體積,提高傳輸效率;HTTP:如果是基于HTTP1.1的協議,請求中會包含很多無用的內容,如果是基于HTTP2.0,那么簡單的封裝下是可以作為一個RPC來使用的。
  3. 性能消耗。RPC:可以基于thrift實現高效的二進制傳輸;HTTP:大部分是通過json來實現的,字節大小和序列化耗時都比thrift要更消耗性能。
  4. 負載均衡。RPC:基本都自帶了負載均衡策略;HTTP:需要配置Nginx,HAProxy來實現。
  5. 服務治理。RPC:能做到自動通知,不影響上游;HTTP:需要事先通知,修改Nginx/HAProxy配置。

https://cloud.tencent.com/developer/article/1353110

https://blog.csdn.net/k_x_sh/article/details/88837410

RPC調用過程

https://www.cnblogs.com/FG123/p/10261676.html

總結

以上是生活随笔為你收集整理的RPC接口简介「建议收藏」(一文带你搞懂RPC)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。