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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

既有 HTTP ,为啥用 RPC 进行服务调用?

發布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 既有 HTTP ,为啥用 RPC 进行服务调用? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RPC 只是一種設計而已

????????RPC 只是一種概念、一種設計,就是為了解決 不同服務之間的調用問題, 它一般會包含有 傳輸協議序列化協議 這兩個。

????????但是,HTTP 是一種協議,RPC框架可以使用 HTTP協議作為傳輸協議或者直接使用TCP作為傳輸協議,使用不同的協議一般也是為了適應不同的場景。

HTTP 和 TCP

可能現在很多對計算機網絡不太熟悉的朋友已經被搞蒙了,要想真正搞懂,還需要來簡單復習一下計算機網絡基礎知識:

我們通常談計算機網絡的五層協議的體系結構是指:應用層、傳輸層、網絡層、數據鏈路層、物理層。

應用層(application-layer)的任務是通過應用進程間的交互來完成特定網絡應用。HTTP 屬于應用層協議,它會基于TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。HTTP協議工作于客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過 URL 向HTTP服務端即WEB服務器發送所有請求。Web服務器根據接收到的請求后,向客戶端發送響應信息。HTTP協議建立在 TCP 協議之上。

運輸層(transport layer)的主要任務就是負責向兩臺主機進程之間的通信提供通用的數據傳輸服務。TCP是傳輸層協議,主要解決數據如何在網絡中傳輸。相比于UDP,TCP 提供的是面向連接的,可靠的數據傳輸服務。

RPC框架功能更齊全

成熟的 RPC框架還提供好了“服務自動注冊與發現”、"智能負載均衡"、“可視化的服務治理和運維”、“運行期流量調度”等等功能,這些也算是選擇 RPC 進行服務注冊和發現的一方面原因吧!

相關閱讀:

  • http://www.ruanyifeng.com/blog/2016/08/http.html (HTTP 協議入門- 阮一峰)

一個常見的錯誤觀點

很多文章中還會提到說 HTTP 協議相較于自定義 TCP 報文協議,增加的開銷在于連接的建立與斷開,但是這個觀點已經被否認,下面截取自知乎中一個回答,原回答地址:https://www.zhihu.com/question/41609070/answer/191965937。

????????首先要否認一點 HTTP 協議相較于自定義 TCP 報文協議,增加的開銷在于連接的建立與斷開。HTTP 協議是支持連接池復用的,也就是建立一定數量的連接不斷開,并不會頻繁的創建和銷毀連接。二一要說的是 HTTP 也可以使用 Protobuf 這種二進制編碼協議對內容進行編碼,因此二者最大的區別還是在傳輸協議上。

總結

以上是生活随笔為你收集整理的既有 HTTP ,为啥用 RPC 进行服务调用?的全部內容,希望文章能夠幫你解決所遇到的問題。

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