1、
rpc
(
r
emote
p
rocedure
c
all 、
遠端過程呼叫
)
:它是一種通過網路從遠端電腦程式上請求
服務,而不需要了解底層網路技術的協議
rpc
包含了http
協議 2、常用
rpc框架
一、rmi
(r
emote
m
ethod
i
nvocation
,遠端方法呼叫):
jdk 自帶
rpc ,有很多侷限性,不推薦使用 二、
dubbo
:阿里開源的高效能服務框架,使得應用可通過高效能的
rpc實現服務的輸出和輸入功能,可以和spring無縫整合。目前dubbo已經成為
spring cloud alibaba中的官方元件 三、
grpc
:可以在任何環境中執行的現代開源高效能
rpc 框架。它可以通過可插拔的支援來有效地連線資料中心內和跨資料中心的服務,以實現負載平衡,跟蹤,執行狀況檢查和身份驗證。它也適用於分布式計算的最後一英里,以將裝置、移動應用程式和瀏覽器連線到後端服務 四、
hessian
:是乙個輕量級的
工具,使用簡單的方法提供了
rmi
的功能。 相比
webservice
,hessian
更簡單、快捷。採用的是二進位制
rpc 協議,因為採用的是二進位制協議,所以它很適合於傳送二進位制資料 五、
thrift
:apache thrift
是facebook
開源的跨語言
rpc 通訊框架。由於其跨語言特性和出色的效能,在很多網際網路公司得到應用,有能力的公司甚至會基於
thrift
研發一套分布式服務框架,增加諸如服務註冊、服務發現等功能 六、
spring cloud netflix
feign:
3、rpc
執行原理
一、client
以本地呼叫方式呼叫服務; 二、
client stub
接收到呼叫後負責將方法、引數等組裝成能夠進行網路傳輸的訊息體; 三、
client stub
找到服務位址,並將訊息傳送到服務端; 四、
server stub
收到訊息後進行解碼; 五、
server stub
根據解碼結果呼叫本地的服務;
六、本地服務執行並將結果返回給
server stub ;
七、server stub
將返回結果打包成訊息並傳送至消費方; 八、
client stub
接收到訊息,並進行解碼;
九、服務消費方得到最終結果。
RPC協議是什麼?RPC協議與HTTP協議的區別
rpc是一種api,http是一種無狀態的網路協議。rpc可以基於http協議實現,也可以直接在tcp協議上實現。rpc主要是用在大型 裡面,因為大型 裡面系統繁多,業務線複雜,而且效率優勢非常重要的一塊,這個時候rpc的優勢就比較明顯了。http主要是用在中小型企業裡面,業務線沒那麼繁多的情況下。...
網路協議 RPC協議
遠端呼叫協議,用於定義服務之間的介面呼叫規範標準 最早的rpc框架之一 1.2.1 外部資料表示法 xdr 規定互動協議的檔案,包括 與古老的rpc協議相比,雙方的soap協議沒必要完全一致 引數順序 引數個數等 更加靈活 也是乙個xml,描述了方法名 服務名 埠 請求引數等資訊,通過在服務位址後加...
網路協議 RPC協議
微服務與遠端方法呼叫的引入 rpc 指的是 remote procedure call,即遠端方法呼叫 也叫遠端服務呼叫 遠端過程呼叫 這也是微服務架構的前導篇,因為微服務裡面遠端服務之間就是通過 rpc 協議進行資料傳輸的。在介紹 rpc 協議之前,我們先釐清幾個概念 單體應用 微服務應用 本地方...