RPC與HTTP的區別

2022-08-22 17:06:17 字數 832 閱讀 3379

**:

1. rpc api和restful api

(1)rpc面向過程:內部呼叫建議rpc

rpc遠端呼叫不一定跨網路,同一臺主機的兩個程序直接也可以是rpc。rest就是一種rpc

rpc可以通過http也可以直接走socket。 選用http,是由於其更通用。

2. rpc與http的不同特點

2.1 傳輸協議

(1)rpc:基於tcp,也可基於http

(2)http:基於http

2.2傳輸效率

(1)自定義tcp協議,報文小。 如果基於http2協議,也可減小報文,提高傳輸效率

(2)基於http1.1協議,報文有很多無用內容,傳輸效率低

2.3 效能消耗,主要在於序列化和反序列化的耗時

(1)rpc,可以基於thrift實現高效二進位制傳輸

(2)http,大部分是json實現,位元組大小和序列化耗時逗比thrift更消耗效能

2.4負載均衡

(1)rpc自帶負載均衡策略

(2)http,需要配置nginx,haproxy來實現

2.5服務治理

(1)rpc,自動通知

(2)http,事先通知,修改nginx/haproxy配置

3.總結

(1)rpc:用於公司內部服務呼叫,效能消耗低,傳輸效率高,服務治理方便。 實現負載,適用於開發過程使用同一的技術棧

微服務,強調的是獨立、自治、靈活。而rpc方式限制多,因此微服務常用基於http的rest風格服務。

RPC 服務 與 HTTP 服務的區別

1 什麼是rpc rpc remote procedure call 遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得...

RPC和HTTP的區別?

1.rpc主要是基於tcp ip協議,而http服務主要是基於http協議 http協議是應用層協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式多程式在內的應用程式更加輕易。2.同步...

基於TCP與HTTP的RPC呼叫的區別

rpc即遠端服務呼叫 出現原因 隨著專案越來越大,訪問量越來越大,為了突破性能瓶頸,需要將專案拆分成多個部分,這樣比起傳統的專案都是本地記憶體呼叫,分布式的專案之間需要在網路間進行通訊 服務之間的遠端呼叫通常有兩種方式,即基於tcp的遠端呼叫和基於http的遠端呼叫 主要是服務提供方定義socket...