HTTP協議和rpc協議比較


總結:RPC主要用於公司內部服務調用,傳輸效率高(TCP,報文小),性能消耗低(高效的二進制傳輸、字節小、序列化耗時少),服務治理方便:

1、傳輸協議:

  RPC:可以基於HTTP協議,也可以基於TCP協議

  HTTP:基於HTTP協議

2、傳輸效率:

  RPC:使用自定義的TCP協議,可以讓請求報文體積更小,或者使用HTTP2協議,也可以很好的減小報文體積,提高傳輸效率

  HTTP:如果是基於http1.1的協議,請求中會包含很多無用的內容,如果是基於HTTP2.0,那么簡單的封裝下可以作為一個RPC來使用,這時標准的RPC框架更多的是服務治理。

3、性能消耗:

  RPC:可以基於thrift實現高效的二進制傳輸

  HTTP:大部分是基於json實現的,字節大小和序列化耗時都比thrift要更消耗性能

4、負載均衡:

  RPC:基本自帶了負載均衡策略

  HTTP:需要配置Nginx、HAProxy配置

5、服務治理:(下游服務新增,重啟,下線時如何不影響上游調用者)

  RPC:能做到自動通知,不影響上游

  HTTP:需要事先通知,如修改NGINX配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM