分布式通信框架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》服务器端收到请求,先反序列化。再进行业务逻辑处理。把返回结果序列化返回
原文:https://www.cnblogs.com/LJing21/p/10442172.html