日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

為什么有了HTTP,還需要RPC協(xié)議?

億佰特物聯(lián)網(wǎng)應用專家 ? 2023-08-14 10:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

什么是HTTP協(xié)議?

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

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

圖1 HTTP交互基本流程圖


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

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

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

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

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

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

什么是RPC協(xié)議?


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

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

圖2 RPC協(xié)議交互流程

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

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

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

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

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

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

二者的選擇使用


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

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

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

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

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

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

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

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

當然這樣不是絕對固定的組合,也可以結(jié)合兩個協(xié)議來實現(xiàn)更好的網(wǎng)絡,例如:

(1)我們可以在HTTP協(xié)議上封裝RPC協(xié)議,使得RPC請求可以通過HTTP代理或者網(wǎng)關(guān)來轉(zhuǎn)發(fā)和處理。

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

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

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

    關(guān)注

    18

    文章

    6457

    瀏覽量

    140282
  • 協(xié)議
    +關(guān)注

    關(guān)注

    2

    文章

    620

    瀏覽量

    41198
  • 網(wǎng)絡
    +關(guān)注

    關(guān)注

    14

    文章

    8340

    瀏覽量

    95600
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    538

    瀏覽量

    35567
  • RPC
    RPC
    +關(guān)注

    關(guān)注

    0

    文章

    114

    瀏覽量

    12298
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    自動駕駛占用網(wǎng)絡還需要卷積神經(jīng)網(wǎng)絡嗎?

    在占用網(wǎng)絡流行之前,自動駕駛的主流感知方案是基于CNN的目標檢測。你可以把它想象成給攝像頭拍到的每一張照片畫框。
    的頭像 發(fā)表于 05-04 18:05 ?434次閱讀
    自動駕駛<b class='flag-5'>有</b><b class='flag-5'>了</b>占用網(wǎng)絡<b class='flag-5'>還需要</b>卷積神經(jīng)網(wǎng)絡嗎?

    FRED應用:RPC Photonics 擴散片BSDF導入模擬

    摘要 RPC Photonics公司高品質(zhì)的的工程漫射體BSDF測試數(shù)據(jù),但它對于FRED幫助甚少,下面這個步驟描述了如何利用FRED腳本轉(zhuǎn)換RPC Photonics提供的TXT文件,并將數(shù)據(jù)
    發(fā)表于 04-30 08:16

    自動駕駛占用網(wǎng)絡還需要數(shù)據(jù)標注嗎?

    能夠通過空間體素化的方式來感知世界,甚至可以識別那些從未見過的異形障礙物,那它是不是不再需要傳統(tǒng)意義上的數(shù)據(jù)標注?事實上,占據(jù)網(wǎng)絡不僅沒有取消標注,反而將標注的維度和難度推向一個新的高度。 ? 為什么占據(jù)網(wǎng)絡變得如此重要?
    的頭像 發(fā)表于 04-17 08:53 ?423次閱讀
    自動駕駛占用網(wǎng)絡<b class='flag-5'>還需要</b>數(shù)據(jù)標注嗎?

    單片機中有FLASH為啥還需要EEROM?

    單片機里明明FLASH,為啥還要再塞個EEPROM?不少剛接觸嵌入式的小伙伴估計都有過這樣的疑惑:FLASH能存程序,容量大,讀取又快,干嘛還要加個讀寫慢、容量小的EEPROM?這不是多此一舉嘛。其實,這倆兄弟各有所長,分工明確,就像你電腦里的固態(tài)硬盤和內(nèi)存條,誰也替不了誰。
    的頭像 發(fā)表于 03-05 13:39 ?310次閱讀
    單片機中有FLASH為啥<b class='flag-5'>還需要</b>EEROM?

    電子產(chǎn)品CE認證還需要做RoHS嗎?2026年合規(guī)答疑

    很多電子企業(yè)出口歐盟時都會陷入一個核心困惑:“我的電子產(chǎn)品已經(jīng)做了CE認證,還需要額外做RoHS嗎?”答案很明確:多數(shù)電子電氣類產(chǎn)品,CE認證仍需滿足RoHS合規(guī),二者并非二選一,而是“包含與被
    的頭像 發(fā)表于 02-09 16:43 ?1407次閱讀
    電子產(chǎn)品<b class='flag-5'>有</b>CE認證<b class='flag-5'>還需要</b>做RoHS嗎?2026年合規(guī)答疑

    工業(yè)領(lǐng)域為什么會用到HTTP協(xié)議

    工業(yè)領(lǐng)域使用HTTP協(xié)議主要源于其 通用性、易用性、擴展性 以及與現(xiàn)代工業(yè)系統(tǒng)集成需求的契合,盡管工業(yè)環(huán)境對實時性、可靠性的要求較高,但HTTP在特定場景下仍能發(fā)揮關(guān)鍵作用。以下是具體原因分析
    的頭像 發(fā)表于 12-27 09:38 ?277次閱讀

    HTTP物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?什么功能?

    HTTP物聯(lián)網(wǎng)網(wǎng)關(guān)是一種硬件或軟件設(shè)備,位于物聯(lián)網(wǎng)設(shè)備與云端服務之間,以HTTP協(xié)議為核心通信方式,負責數(shù)據(jù)的采集、處理、傳輸和管理。它作為物聯(lián)網(wǎng)架構(gòu)中的關(guān)鍵組件,解決不同設(shè)備間
    的頭像 發(fā)表于 12-24 11:33 ?548次閱讀
    <b class='flag-5'>HTTP</b>物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?<b class='flag-5'>有</b>什么功能?

    HTTP通信網(wǎng)關(guān)是什么?什么功能?

    HTTP通信網(wǎng)關(guān)是連接不同網(wǎng)絡或協(xié)議的關(guān)鍵設(shè)備/服務器,在HTTP通信中扮演著協(xié)議轉(zhuǎn)換、安全加固、性能優(yōu)化等核心角色,其本質(zhì)是 實現(xiàn)不同協(xié)議
    的頭像 發(fā)表于 12-23 11:14 ?652次閱讀

    使用 HTTP 協(xié)議能否實現(xiàn) IAP 功能?

    使用 HTTP 協(xié)議,能否實現(xiàn) IAP 功能?
    發(fā)表于 12-23 06:35

    使用HTTP實現(xiàn)IAP的方法

    使用 HTTP 協(xié)議進行固件升級沒有使用 TFTP 常見,但是在需要通過 Internet 進行遠程編程時,這種解決方案就顯得極為有用。這時,需要使用 TCP 傳輸
    發(fā)表于 12-16 06:18

    榮耀的星際穿越,中國的AI星海

    這么多AI產(chǎn)品,我們?yōu)槭裁?b class='flag-5'>還需要千問App
    的頭像 發(fā)表于 11-18 13:22 ?6444次閱讀
    榮耀的星際穿越,中國的AI星海

    東方的ChatGPT來了?這么多AI產(chǎn)品,我們?yōu)槭裁?b class='flag-5'>還需要千問App

    行業(yè)芯事行業(yè)資訊
    腦極體
    發(fā)布于 :2025年11月17日 19:06:36

    請問riscv中斷還需要軟件保存上下文和恢復嗎?

    以下是我拷貝的文檔里的說明,這個中斷處理還需要軟件來寫上下文保存和恢復,在使用ARM核的單片機都不需要考慮這些的,使用過的小伙伴能解答嗎? 3.8. 進出中斷的上下文保存和恢復 RISC-V架構(gòu)
    發(fā)表于 10-20 09:56

    請問STM32新出的芯片USB還需要上拉電阻嗎?

    我記得F103的USB需要上拉個電阻,STM32新出的芯片USB還需要上拉電阻嗎?例如H5系列
    發(fā)表于 07-18 06:40

    HTTP協(xié)議在工業(yè)領(lǐng)域會用到嗎

    、控制器、工業(yè)機器人等)需要接入網(wǎng)絡以實現(xiàn)遠程監(jiān)控和管理。HTTP協(xié)議作為一種廣泛應用的網(wǎng)絡協(xié)議,可以用于設(shè)備與工業(yè)互聯(lián)網(wǎng)平臺之間的通信。設(shè)備通過H
    的頭像 發(fā)表于 06-03 09:17 ?794次閱讀
    临高县| 松原市| 南澳县| 澄江县| 碌曲县| 枣强县| 敖汉旗| 琼结县| 西乡县| 宁晋县| 营山县| 江都市| 青河县| 牙克石市| 甘孜| 长沙市| 青川县| 子长县| 盐亭县| 康定县| 凤阳县| 天祝| 兴义市| 涿鹿县| 河池市| 凌海市| 陆川县| 比如县| 仙游县| 揭东县| 澄江县| 米林县| 云浮市| 上栗县| 离岛区| 炉霍县| 商洛市| 绥中县| 垫江县| 油尖旺区| 锡林浩特市|