天天看點

一種封裝多種實作的RPC設計

RPC(遠端過程調用)是一種調用遠端程式的協定,可以實作RPC的方案很多,比如RMI、Hessian,還有公司自己開發的dbo和TB-Remoting(實際上是基于Hessian和mina實作的),各種RPC的API差異很大,很多系統之間的遠端接口調用總會就RPC的調用細節花費很多時間,是以設計一個實作細節對調用者透明的RPC統一架構是非常必要的。最近在學習公司平台産品dubbo時,就發現提供了一套封裝多種實作的RPC設計,架構的大體類圖如下所示:

一種封裝多種實作的RPC設計

服務的釋出者和調用者都基于以上接口來完成RPC釋出和調用,dubbo預設提供三種RPC具體實作方案,分别是RMI、Hessian和dbo,三種方案分别實作RpcSupport、RpcInoker和RpcExporter,使用者具體基于那種實作,隻用在配置檔案中指明即可,這樣使用者再也不用為較為複雜的RPC細節而傷腦筋了

繼續閱讀