1. 程式人生 > >分布式通信框架RMI

分布式通信框架RMI

暴露 邏輯 之間 動態 使用 部署 spa nbsp socket

分布式通信框架RMI:

1.RPC概念:

Remote procedure call protocal,遠程過程調用協議,一般用來實現部署在不同機器上的系統之間的方法調用,

使得程序能夠像訪問本地系統資源一樣,通過網絡傳輸去訪問遠端系統資源 (RPC協議其實是一個規範)

主流的RPC協議有:Dubbo、Thrif、RMI、Webservice、Hessain (遠程過程調用框架)

網絡協議和網絡IO對於調用端和服務端來說是透明(動態代理);

技術分享圖片

技術分享圖片

參考:https://www.jianshu.com/p/5b90a4e70783

2.RMI概念:

Remote Method Invocation ,遠程方法調用,可以認為是RPC的java版本,使用的是JRMP(Java Remote Messageing Protocol,

JRMP是專門為java定制的通信協議,所以它是純java的分布式解決方案

3.實現一個RMI程序步驟:

  1》創建遠程接口,並且繼承java.rmi.Remote接口並拋出網絡傳輸異常(throws RemoteException)

  2》創建一個實現類實現遠程接口,並且繼承:UnicastRemoteObject,實現類的構造方法拋出網絡傳輸異常

  3》創建服務器程序(服務端):createRegistry方法註冊遠程對象

  4》創建客戶端程序(消費端)

代碼地址:https://github.com/21karat/rmi

4.自己實現一個RMI

  1》編寫服務器程序,暴露一個監聽,可以使用socket

  2》編寫客戶端程序,通過ip和端口連接到指定的服務器,並且將數據做封裝(序列化)

  3》服務器端收到請求,先反序列化。再進行業務邏輯處理。把返回結果序列化返回

分布式通信框架RMI