精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    111

    瀏覽量

    11513
  • Restful
    +關注

    關注

    0

    文章

    11

    瀏覽量

    3529
收藏 人收藏

    評論

    相關推薦

    鉗位能力與電流和負載具體是什么關系,應該怎么考慮?

    記得錢一段時間請教過這個電路,但是一直也沒弄明白。我想知道鉗位能力與電流和負載具體是什么關系,應該怎么考慮?為什么要用一個強的源?負載重是啥意思,電流消耗大?在實際應用中使用電源芯片,輸出端也常被負載拉低,這樣說是不是也是鉗位能力不行?鉗位能力怎么理解呢?求教,或者推薦一些資料我自己學,謝謝您了
    發表于 09-23 08:27

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

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

    圖像處理器與計算機視覺有什么關系區別

    圖像處理器與計算機視覺是兩個在圖像處理領域緊密相連但又有所區別的概念。它們之間的關系區別可以從多個維度進行探討。
    的頭像 發表于 08-14 09:36 ?440次閱讀

    workspace和project是什么關系?一個workspace下可以用多個project嗎?

    如題,workspace和project是什么關系?一個workspace下可以用多個project嗎?還是什么意思?
    發表于 05-14 07:55

    費米氣體和超導是什么關系呢?費米子的代碼讓電阻消失了?

    金屬里面自由電子構成的特殊氣體,叫做“費米氣體”。那么,費米氣體和超導是什么關系呢?
    的頭像 發表于 04-26 10:41 ?542次閱讀
    費米氣體和超導是<b class='flag-5'>什么關系</b>呢?費米子的代碼讓電阻消失了?

    什么是元宇宙,AR/VR和它又是什么關系呢?

    最近蘋果公司的Vision pro上市預售掀起了一波潮流,元宇宙的概念又火了。那么什么是元宇宙,AR/VR和它又是什么關系呢?
    的頭像 發表于 04-22 15:14 ?1576次閱讀

    請問運放輸出的最大值與它的電源電壓有什么關系呢?

    運放輸出的最大值與它的電源電壓有什么關系
    發表于 02-22 08:24

    5G射頻芯片和基帶芯片是什么關系

    在手機終端中,最重要的核心就是射頻芯片和基帶芯片。射頻芯片負責射頻收發、頻率合成、功率放大;基帶芯片負責信號處理和協議處理。那么射頻芯片和基帶芯片是什么關系? 射頻芯片和基帶芯片的區別主要
    的頭像 發表于 01-06 16:16 ?3638次閱讀
    5G射頻芯片和基帶芯片是<b class='flag-5'>什么關系</b>?

    電機槽滿率和銅滿率的區別什么關系

    電機槽滿率和銅滿率區別,有什么關系? 電機槽滿率和銅滿率是電機設計和制造中兩個相關但又具有不同含義的重要參數。在電機設計和制造過程中,這兩個參數的選擇和優化對電機性能和效率起著至關重要的作用。本文將
    的頭像 發表于 12-25 11:47 ?1084次閱讀

    PCB和集成電路是什么關系?有什么區別

    PCB和集成電路是什么關系?有什么區別? PCB(印刷電路板)和集成電路是現代電子領域中非常重要的兩個概念。它們在電子設備的設計、制造和使用中扮演著至關重要的角色。 首先,我們來了解一下PCB的概念
    的頭像 發表于 12-21 13:49 ?1179次閱讀

    減速電機的扭矩與速度有什么關系

    減速電機的扭矩與速度有什么關系? 減速電機是一種常見的電動機,常用于需要精確控制轉速和輸出扭矩的應用中。在了解減速電機的扭矩與速度關系之前,我們先來了解一下減速電機的基本原理。 減速電機由兩部分
    的頭像 發表于 12-19 09:55 ?1480次閱讀

    電機的輸入功率是什么?與額定功率是什么關系呢?

    請一下,電機的輸入功率是什么啊, 與額定功率是什么關系呢?
    發表于 12-12 07:52

    步進電機的轉速和轉矩是什么關系?轉速高低對轉矩的影響?

    步進電機的轉速和轉矩是什么關系?轉速高低對轉矩的影響?
    發表于 12-12 07:00

    電機“最高允許溫度”與“繞組溫升限值”和“性能參考溫度”是什么關系呢?

    請教一下: 電機“最高允許溫度”與“繞組溫升限值”和“性能參考溫度”是什么關系呢??
    發表于 12-11 07:09

    窗函數對FFT有什么影響?他們是什么關系

    窗函數對FFT有什么影響?他們是什么關系?在visualStudio軟建中,要對音頻信號進行FFT變換時,需要加窗函數進行控制,這是為什么?窗函數對FFT有什么影響?窗函數是起到截取數據大小作用還是起到插零的作用?
    發表于 11-30 06:24