1. 程式人生 > >一種封裝多種實現的RPC設計

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

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

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