1. 程式人生 > >Java分散式:RPC(遠端過程呼叫)

Java分散式:RPC(遠端過程呼叫)

Java分散式:RPC(遠端過程呼叫)

引入RPC

  比如我們有一個查詢的介面IDBQuery,以及其實現類DBQueryImp,如果我們執行IDBQuery查詢方法,只需要new一個DBQueryImp然後呼叫request方法即可,這就是本地函式呼叫,因為在同一個地址空間或者同一塊記憶體,通過方法棧和引數棧就可以實現

  現在,基於高效能和高可靠等因素的考慮,你決定將系統改造為分散式應用,將很多可以共享的功能都單獨拎出來,一個應用部署在A伺服器上,一個應用部署在B伺服器上,部署在A伺服器上的應用如果想呼叫B伺服器上提供的函式/方法,由於不在一個記憶體空間,不能直接呼叫,需要通過網路來表達呼叫的語義和傳導呼叫的資料

  示意圖如下