伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

Restful 和 RPC 是什么關系與區別

lhl545545 ? 來源:電子發燒友網 ? 2018-02-07 15:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Restful 和 RPC 是什么關系

這兩個不是互斥的,HTTP是不是RPC完全取決于client的具體形式。傳統的RPC一般是基于二進制協議的,client發個二進制包過來(然后阻塞),server處理完回復一個包,client收到后醒來。在二進制協議中一般可以在包中加個id來指明回復和請求的對應關系,這樣我們就能在一個tcp連接上同時發起多個請求和回復。HTTP這種文本協議也可以加id,但由于一些原因(Content-Length可能缺失),即使加了id也做不到一個連接上同時傳多個HTTP消息,所以HTTP協議一般會和server保持多個連接,每個連接上同時最多只有一個HTTP消息。此種”連接池“方式即為HTTP中的”Keep-alive“。所以即使在HTTP上(或任何協議上),我們仍然可以做到高效地發送一個請求過去,阻塞,等待server處理完后,再醒來。這不就是RPC么。所以這兒的選擇更多是平衡功能和性能。一般來說,面向終端用戶的盡量用Restful HTTP。原因是認知廣,直觀,編程語言都支持HTTP(包括shell,這樣調試起來方便),性能不是那么重要,方便用戶share鏈接。而面向內部系統的話如果機器不多也可以考慮用Restful HTTP,如果機器很多還是盡量用二進制的RPC吧,畢竟性能差距還是很大的。

 Restful 和 RPC 是什么關系與區別

restful架構與rpc區別

RPC

RPC 即遠程過程調用, 很簡單的概念, 像調用本地服務(方法)一樣調用服務器的服務(方法)。

通常的實現有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是傳輸數據的格式。

(如果你已經習慣于XML繁重的尖括號,你不妨可以嘗試下更加輕型,高效,傳輸效率高的 JSON.)

一個簡單的通信過程通常為:

Request

<?xml version=“1.0”?>

member.get_username_by_id

Response

<?xml version=“1.0”?>

Zhu Tao

向服務器發送一個過程調用的方法及其參數, 得到服務器返回的方法執行的結果。

REST

REST 不是一種協議,它是一種架構, 一種 Web Service 能夠如果滿足 REST 的幾個條件, 通常就稱這個系統是 Restful 的。

這里提到的條件包括:

C/S結構 (這是Internet服務的一個基本特征)

無狀態 (很熟悉吧,呵呵)

可以cache (想起了瀏覽器?)

分層系統 (想起了無數的架構?)

統一的接口 (如果這是可能的,程序員有福了, :D)

code on demand(可選, 其實是一種擴展性的要求)

看了這幾個特征后,你想起了什么?

你可能會破口而出: HTTP.

我答: You got it!

HTTP是WWW的最核心的協議, 它將簡單的分布于世界各個角落的資源都統一起來, 統一的地址, 簡單的方法, 和一定數量的表達方式。(你可能對這三點描述很模糊,請go ahead)。

REST 的三個要素是 唯一的資源標識, 簡單的方法 (此處的方法是個抽象的概念), 一定的表達方式。

REST 是以 資源 為中心, 名詞即資源的地址, 動詞即施加于名詞上的一些有限操作, 表達是對各種資源形態的抽象。

以HTTP為例, 名詞即為URI(統一資源標識), 動詞包括POST, GET, PUT, DELETE等(還有其它不常用的2個,所以 整個動詞集合是有限的), 資源的形態(如text, html, image, pdf等)

Restful 和 RPC 是什么關系與區別

RPC與REST的區別

如果你想只記住一點,那么就請記住 RPC是以動詞為中心的, REST是以名詞為中心的, 此處的 動詞指的是一些方法, 名詞是指資源。

你會發現,以動詞為中心,意味著,當你要需要加入新功能時,你必須要添加更多的動詞, 這時候服務器端需要實現 相應的動詞(方法), 客戶端需要知道這個新的動詞并進行調用。

而以名詞為中心, 假使我請求的是 hostname/friends/, 無論這個URI對應的服務怎么變化,客戶端是無需 關注和更新的,而這種變化對客戶端也是透明的。

至于其它的區別,如對實現語言的依賴, 耦合性等,這些都是上面提到的這個根本區別所衍生的。

讓我們回到引入部分的2個問題。 當你每天使用HTTP沖浪時,你都在使用 REST 與遠程的服務器進行親密接觸。 當你使用Gtalk和同事朋友溝通時,你則是在享受著 RPC 的便利.

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

    關注

    0

    文章

    114

    瀏覽量

    12284
  • Restful
    +關注

    關注

    0

    文章

    14

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    碼神之路Netty-從零實現RPC框架課分享

    面向未來的分布式基石:Netty 從零實現 RPC 框架全體系實戰 在微服務架構與云原生技術大行其道的今天,分布式系統已成為互聯網應用的標準形態。而在這些龐大系統的底層,隱藏著一個至關重要的通信引擎
    的頭像 發表于 02-13 11:38 ?118次閱讀

    電壓、電位、電勢和電平的區別關系

    在電學領域中,電壓、電位、電勢和電平是幾個密切相關的概念,它們既有區別又有聯系。理解這些概念的本質及其相互關系,對于掌握電路分析和電子技術至關重要。下面將從定義、計算方法和實際應用等方面,詳細闡述
    的頭像 發表于 11-24 07:37 ?1245次閱讀
    電壓、電位、電勢和電平的<b class='flag-5'>區別</b>與<b class='flag-5'>關系</b>

    單片機和嵌入式,到底是什么關系

    關系:什么是單片機?什么是嵌入式?它們到底是不是一回事?先說說大家最先聽說的那個詞——單片機(MCU)。單片機,全稱是MicrocontrollerUnit,顧名思
    的頭像 發表于 11-14 10:28 ?1878次閱讀
    單片機和嵌入式,到底是<b class='flag-5'>什么關系</b>?

    RESTful API設計原則: 構建易用、可擴展的API接口。

    一、理解REST架構的核心約束 1.1 RESTful API的六大基本原則 Roy Fielding博士在其博士論文中定義了REST架構的六大核心約束: 統一接口(Uniform
    的頭像 發表于 10-24 10:45 ?597次閱讀

    工業智能網關與交換機有什么關系

    工業智能網關與交換機在工業網絡中扮演不同角色,二者既存在功能差異,又在特定場景下形成互補關系,共同構建高效、安全的工業通信體系。以下是具體分析: 一、功能定位差異 工業智能網關 核心功能 :作為工業
    的頭像 發表于 10-21 09:29 ?787次閱讀

    RESTful API設計原則: 構建易用、可擴展的API接口

    在當今微服務架構和分布式系統盛行的時代,RESTful API已成為系統間通信的核心橋梁。優秀的API設計不僅能提升開發效率,還能顯著降低系統維護成本。本文將深入探討如何遵循REST
    的頭像 發表于 10-20 13:45 ?1028次閱讀

    傳感器和執行器之間有什么關系

    傳感器和執行器是現代自動化系統的核心部件。傳感器負責檢測環境信息,如溫度、光照等;執行器則根據信息執行動作,如啟動電機、打開閥門等。它們之間存在著功能互補、協同工作、相互依存和集成發展等關系,共同推動自動化技術的發展。
    的頭像 發表于 09-29 11:42 ?1006次閱讀

    邏輯“1”與芯片引腳的輸入電壓有什么關系

    邏輯“1”與芯片引腳的輸入電壓有什么關系
    發表于 08-26 07:24

    可配置的數據閃存大小、地址和 APROM 之間有什么關系

    可配置的數據閃存大小、地址和 APROM 之間有什么關系
    發表于 08-26 06:58

    請問可配置的數據閃存大小、地址和 APROM 之間有什么關系

    可配置的數據閃存大小、地址和 APROM 之間有什么關系
    發表于 08-21 07:10

    Jtti.ccVPS和IP的關系是什么?一文講清服務器背后的網絡邏輯

    不少朋友在使用 VPS 搭建網站、做代理或遠程桌面時,經常聽到“獨立IP”、“共享IP”、“原生IP”這些詞,但到底 VPS 和 IP 是什么關系?有沒有固定綁定?怎么查?怎么換?今天小編就從
    的頭像 發表于 07-07 17:41 ?1024次閱讀

    什么是STM32? STM32與ARM有什么關系? STM32能做什么?

    什么是STM32 具體用于什么方面較多?? STM32與ARM有什么關系 STM32能做什么,簡單的比如調節協議,為什么那么久的產品到現在還是主流?
    發表于 06-23 17:34

    請問cypd3125 I2C硬件地址和HPIv2 組件內設定的slave address地址有什么關系,必須一致嗎?

    各位大俠: 請問cypd3125 I2C硬件地址和HPIv2 組件內設定的slave address地址有什么關系,必須一致嗎?我把CYPD3125 I2C 地址通過硬件設為0x40,感覺可以找到設備,但HPIv2 通信有問題,不知道兩個地址有什么關系?哪位幫忙指點一下,
    發表于 06-03 08:19

    上位機和下位機是什么關系

    上位機和下位機在工業自動化、儀器儀表等控制領域中是相互協作、緊密配合的關系,以下從定義、通信方式、功能分工、協同作用幾個方面詳細闡述它們的關系: 定義與角色 上位機 :通常指具有強大數據處理、顯示
    的頭像 發表于 05-29 18:03 ?1790次閱讀

    Serder速率和以太網速率關系

    速率究竟什么關系?為何提到高速銅纜有說224G,也有說800Gbps,今天我們給各位說說看。以太網速率標準演進趨勢Serder速率與以太網速率的關系可通過以下分析進
    的頭像 發表于 04-10 07:34 ?1267次閱讀
    Serder速率和以太網速率<b class='flag-5'>關系</b>