女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么有了HTTP,還需要RPC協議?

億佰特物聯網應用專家 ? 2023-08-14 10:05 ? 次閱讀

為什么有了HTTP,還需要RPC協議呢?在進行說明之前,首先我們需要了解什么是HTTP協議,什么是RPC協議。

0ea2595c-3a47-11ee-bbcf-dac502259ad0.png

什么是HTTP協議?

HTTP是一種廣泛使用的網絡傳輸協議,它定義了客戶端(如瀏覽器, 手機用戶APP等)和服務器(網站等提供服務的,服務端)之間的通信格式和通信方法,它是基于請求—響應這樣一種通信模型,即服務端根據請求返回一個響應,在請求和響應中,都包含了兩端(客戶端和服務端)之間進行交互的一些信息,如方法、頭部、正文等。

0eb13288-3a47-11ee-bbcf-dac502259ad0.png

圖1 HTTP交互基本流程圖


HTTP具有很多優點,它支持多種數據格式和編碼方式,可以實現跨平臺和跨語言的通信,通信簡單、靈活、易于擴展。但是同時它也有一些缺點:

(1)HTTP是無狀態的,每次請求都需要重新建立連接,這會增加網絡開銷和延遲。

(2)數據傳輸是基于文本的,這會導致數據量較大,解析效率較低。

(3)安全性較差,因此容易受到中間人攻擊、重放攻擊等。

(4)語義較弱,HTTP只能表達基本的增刪改查操作,不能滿足復雜的業務邏輯。

0ec55308-3a47-11ee-bbcf-dac502259ad0.png

什么是RPC協議?


RPC即Remote Procedure Call(遠程程序調用),它是一種遠程過程調用協議,它允許客戶端像調用本地函數一樣調用遠程服務器上的函數。

0ed30ad4-3a47-11ee-bbcf-dac502259ad0.png

圖2 RPC協議交互流程

RPC的優點是高效、強大、易于使用,但是它也有一些缺點,比如:

(1)與HTTP相反,RPC是有狀態的,需要維護客戶端和服務器之間的連接狀態,這會增加系統的復雜度和資源消耗。

(2)RPC的數據傳輸是基于二進制的,這會導致數據不易閱讀和調試。

(3)RPC的兼容性較差,不同的RPC框架之間可能存在協議和接口的不一致性。

(4)RPC的可擴展性較差,難以支持動態服務發現和負載均衡等功能。

0efebf6c-3a47-11ee-bbcf-dac502259ad0.png

二者的選擇使用


基于TCP建立的HTTP和各類RPC協議,只是定義了不同消息格式的應用層協議。HTTP協議是超文本傳輸協議,而RPC本身并不是一個具體的協議,而是一種調用方式。

0f1db37c-3a47-11ee-bbcf-dac502259ad0.png

雖然HTTP現在叫超文本協議,支持音頻視頻,但HTTP設計初主要是用做展示網頁文本,所以它傳輸的內容以字符串為主,內容存在非常多的冗余。而RPC協議定制化程度更高,可以采用體積更小的protobuf或其他序列化協議去保存結構體數據,同時也不需要像HTTP那樣考慮各種瀏覽器行為,性能更好。因此在公司內部微服務中拋棄HTTP,轉而使用RPC協議。雖然后來HTTP得到了很大的改進,但由于很多公司內部已經用了多年的RPC協議,基于歷史原因,一般沒有選擇更換成HTTP。

在實際運用中,不論是HTTP還是RPC,它們都有各自的優缺點,沒有絕對的好壞之分。針對不同的使用場景選擇合適的協議。比如:

(1)在微服務架構中,服務之間需要頻繁地進行內部調用,RPC可以提供更高的性能和可靠性。

(2)在分布式計算中,需要將大量的計算任務分發到不同的節點上執行,RPC可以實現更靈活的負載均衡和容錯機制。

(3)而在實時通信中,需要實現低延遲和高并發的數據交換,RPC可以支持多種傳輸協議和通信模式。

而假如你需要實現跨平臺和跨語言的通信,或者需要支持多種數據格式和編碼方式,或者需要利用現有的HTTP基礎設施和工具,可以選擇HTTP協議。

當然這樣不是絕對固定的組合,也可以結合兩個協議來實現更好的網絡,例如:

(1)我們可以在HTTP協議上封裝RPC協議,使得RPC請求可以通過HTTP代理或者網關來轉發和處理。

(2)可以在RPC協議上使用HTTP協議作為傳輸層,使得RPC請求可以利用HTTP的特性來實現緩存、壓縮、加密等功能。

所以總的來說,RPC的出現是為了應對HTTP協議滿足不了的對性能有所要求的網絡場景。它們并不是互斥的,而是可以根據不同的場景和需求進行選擇和組合的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6169

    瀏覽量

    137361
  • 協議
    +關注

    關注

    2

    文章

    614

    瀏覽量

    39816
  • 網絡
    +關注

    關注

    14

    文章

    7761

    瀏覽量

    90353
  • HTTP
    +關注

    關注

    0

    文章

    520

    瀏覽量

    32447
  • RPC
    RPC
    +關注

    關注

    0

    文章

    111

    瀏覽量

    11795
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    用了TOUCH編程還需要再用CUBE-IDE處理嗎?

    如題 用了TOUCH編程還需要再用CUBE-IDE處理嗎? TOUCH 僅僅只有在線版嗎
    發表于 03-10 06:19

    STM32和MCP2515通信,STM32這端還需要接CAN PHY嗎?

    最近在做CAN通信的相關項目,STM32G4負責接收,對端是一個MCP2510+TJA1040的組合, 想問下應該如何接?STM32這端還需要接CAN PHY嗎?
    發表于 03-10 06:18

    MES系統還需要上MOM系統嗎?這些不同點你需要了解!

    還需要引入MOM系統? 本文將深入探討MES與MOM系統的區別,從多個維度深入剖析兩者的不同,幫您做出明智決策。 一、定義與范疇 MES 系統- 聚焦生產執行: MES 主要圍繞生產車間的執行活動展開,著重監控和管理生產任務的執行過程,從生產訂單下達到產
    的頭像 發表于 02-25 11:09 ?427次閱讀
    <b class='flag-5'>有</b>MES系統<b class='flag-5'>還需要</b>上MOM系統嗎?這些不同點你<b class='flag-5'>需要</b>了解!

    請問DLP2010EVM-LC除了要自己另購19V電源,還需要另購什么東西?

    請問DLP2010EVM-LC除了要自己另購19V電源,還需要另購什么東西?
    發表于 02-25 06:46

    hyper內存條,hyper-v 添加虛擬機還需要硬盤嗎

    在計算機技術的浩瀚星空中,虛擬機猶如一顆璀璨的明星,散發著獨特的光芒。今天給大家介紹hyper-v添加虛擬機還需要硬盤嗎? ? ?hyper-v添加虛擬機還需要硬盤嗎? ? ?Hyper-V是虛擬機
    的頭像 發表于 01-24 14:01 ?354次閱讀
    hyper內存條,hyper-v 添加虛擬機<b class='flag-5'>還需要</b>硬盤嗎

    ADS1293EVM如果用ubs連接電腦,還需要外部供電嗎?

    你好,我是一名在校大學生,剛剛接觸ADS1293問題多多,請問如果用ubs連接電腦,還需要外部供電嗎?是不是只需要四根線將電極和輸入端口連接,就可以用自帶的軟件測出心電圖?萬分感謝!
    發表于 01-01 06:42

    HTTP 協議的工作原理

    HTTP協議的工作原理 1. HTTP協議概述 HTTP是一個應用層協議,它定義
    的頭像 發表于 12-30 09:21 ?835次閱讀

    HTTP 協議的基本概念

    HTTP(HyperText Transfer Protocol,超文本傳輸協議)是一種用于分布式、協作式、超媒體信息系統的網絡協議HTTP 是互聯網上應用最為廣泛的
    的頭像 發表于 12-29 15:12 ?1031次閱讀

    DAC5681z從FPGA讀數據,為什么還需要一個DCLKP/N呢?

    以DAC5681z為例,DAC芯片從FPGA讀數據,然后按照自己的采樣速率CLKIN/CLKINC 每隔16bit轉換成1個電平值,為什么還需要一個DCLKP/N呢?
    發表于 12-11 07:52

    含有內部ESD保護的運放,外部保護還需要加嗎?

    含有內部ESD保護的運放,外部保護還需要加嗎?因為加外部ESD保護一定的漏電流存在, 這個會使電路失去一定的精度
    發表于 09-04 06:54

    暢玩《黑神話:悟空》,除了“官配”硬件還需要注意這些......

    暢玩《黑神話:悟空》,除了“官配”硬件還需要注意這些......
    的頭像 發表于 08-30 14:58 ?772次閱讀
    暢玩《黑神話:悟空》,除了“官配”硬件<b class='flag-5'>還需要</b>注意這些......

    Dubbo源碼淺析(一)—RPC框架與Dubbo

    時,就像調用本地過程一樣方便。 1.2 RPCHttp的關系 用一句話來總結就是: RPC是一種概念,http是一種協議,可以認
    的頭像 發表于 08-16 15:18 ?1088次閱讀
    Dubbo源碼淺析(一)—<b class='flag-5'>RPC</b>框架與Dubbo

    MES、ERP,為什么還需要QMS?

    ? MES、ERP,質量管理為什么還需要QMS? ?在制造業,質量管理始終是企業管理中永恒的主題。品質管理要想做得更好,企業必須掌握足夠多、足夠有用的數據和信息,實現質量管理信息化。很多中小企業
    的頭像 發表于 08-02 10:09 ?517次閱讀
    <b class='flag-5'>有</b><b class='flag-5'>了</b>MES、ERP,為什么<b class='flag-5'>還需要</b>QMS?

    TSMaster RPC 基礎入門:編程指導和使用說明

    介紹RPC模塊前,我們先淺聊一下RPC的相關說明,以及在什么樣的情況下需要了解本文。1.RPC說明遠程過程調用(RPC,RemoteProc
    的頭像 發表于 07-13 08:21 ?1248次閱讀
    TSMaster <b class='flag-5'>RPC</b> 基礎入門:編程指導和使用說明

    ESP-IDF Tools Offline5.0下的離線安裝包,為什么安裝時還需要從github中下載?

    如題 我都已經下載的是離線的安裝包了為什么安裝時還需要從github中下載???? 半個小時 才下載2%
    發表于 06-13 08:14