含義
1.1 從網路協議來說,http協議與thrift同屬於應用層, 他們的底層都是tcp協議。
1.2 rpc(remote procedure call)是遠端過程呼叫,它是一種通過網路從du遠端電腦程式上請求服務,顧而不需要了解底層網路技術的協議。
1.3 thrift是一種rpc常用的通訊協議,它使用idl定義rpc方法和資料結構,使用thrift編譯器根據idl定義生成不同語言的客戶端**和服務端**,由這些生成的**實現遠端方法的呼叫和呼叫引數的解析。
和http的區別
2.1 傳輸協議:
rpc:可以基於http協議,也可以基於tcp協議
http:基於http協議
2.2 傳輸效率:
rpc:使用自定義的tcp協議,可以讓請求報文體積更小,或者使用http2協議,也可以很好的減小報文體積,提高傳輸效率
http:如果是基於http1.1的協議,請求中會包含很多無用的內容,如果是基於http2.0,那麼簡單的封裝下可以作為乙個rpc來使用,這時標準的rpc框架更多的是服務治理。
2.3 效能消耗:
rpc:可以基於thrift實現高效的二進位制傳輸
http:大部分是基於json實現的,位元組大小和序列化耗時都比thrift要更消耗效能
2.4 負載均衡:
rpc:基本自帶了負載均衡策略
http:需要配置nginx、haproxy配置
2.5 服務治理:(下游服務新增,重啟,下線時如何不影響上游呼叫者)
rpc:能做到自動通知,不影響上游
http:需要事先通知,如修改nginx配置。
thrift的優點
thrift協議我們可以精簡請求的資料,來盡可能少的傳輸我們的資料。當前,rpc也可以通過http協議來進行傳輸。thrift預設提供了資料與實體類的轉換,不需要我們顯示的進行資料與實體類的轉換。一般來說,rpc服務主要是針對大型企業的,傳輸快,更高效。
效能資料對比
網路環境,內網千兆,依次迴圈1000次,傳送資料報為1k
網路環境,內網千兆,依次迴圈1000次,傳送資料報為100k
網路環境,內網千兆,並行執行1000次,傳送資料報為1k,就是將async改為parallel
Rpc和Rest介面,微服務之Rpc
介面呼叫通常包含兩個部分,序列化和通訊協議。常見的序列化協議包括json xml hession protobuf thrift text bytes等 通訊比較流行的是http soap websockect,rpc通常基於tcp實現,常用框架例如dubbo,netty mina thrift 首...
微服務 Rpc和Rest協議
介面呼叫通常包含兩個部分,序列化和通訊協議。常見的序列化協議包括json xml hession protobuf thrift text bytes等 通訊比較流行的是http soap websockect,rpc通常基於tcp實現,常用框架例如dubbo,netty mina thrift 首...
微服務 Rpc和Rest協議
原文 介面呼叫通常包含兩個部分,序列化和通訊協議。常見的序列化協議包括json xml hession protobuf thrift text bytes等 通訊比較流行的是http soap websockect,rpc通常基於tcp實現,常用框架例如dubbo,netty mina thrif...