**:
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...