HTTP和RPC的优缺点
生活随笔
收集整理的這篇文章主要介紹了
HTTP和RPC的优缺点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在HTTP和RPC的選擇上,可能有些人是迷惑的,主要是因為,有些RPC框架配置復雜,如果走HTTP也能完成同樣的功能,那么為什么要選擇RPC,而不是更容易上手的HTTP來實現了。
本文主要來闡述HTTP和RPC的異同,讓大家更容易根據自己的實際情況選擇更適合的方案。
- 傳輸協議
- RPC,可以基于TCP協議,也可以基于HTTP協議
- HTTP,基于HTTP協議
-
傳輸效率
- RPC,使用自定義的TCP協議,可以讓請求報文體積更小,或者使用HTTP2協議,也可以很好的減少報文的體積,提高傳輸效率
- HTTP,如果是基于HTTP1.1的協議,請求中會包含很多無用的內容,如果是基于HTTP2.0,那么簡單的封裝以下是可以作為一個RPC來使用的,這時標準RPC框架更多的是服務治理
-
性能消耗,主要在于序列化和反序列化的耗時
- RPC,可以基于thrift實現高效的二進制傳輸
- HTTP,大部分是通過json來實現的,字節大小和序列化耗時都比thrift要更消耗性能
-
負載均衡
- RPC,基本都自帶了負載均衡策略
- HTTP,需要配置Nginx,HAProxy來實現
-
服務治理(下游服務新增,重啟,下線時如何不影響上游調用者)
- RPC,能做到自動通知,不影響上游
- HTTP,需要事先通知,修改Nginx/HAProxy配置
總結:
??RPC主要用于公司內部的服務調用,性能消耗低,傳輸效率高,服務治理方便。HTTP主要用于對外的異構環境,瀏覽器接口調用,APP接口調用,第三方接口調用等。
鏈接:https://www.jianshu.com/p/b61695e6b473
?
總結
以上是生活随笔為你收集整理的HTTP和RPC的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则表达式及其在python上的应用
- 下一篇: 跨境ERP服务商紧随“借卖网”遭黑客攻击