分布式通信框架RMI

什么是RPC

Remote procedure call protocal

 

RPC协议其实是一个规范。Dubbo、Thrif、RMI、Webservice、Hessain

 

网络协议和网络IO对于调用端和服务端来说是透明;

 

一个RPC框架包含的要素

RMI的概述

RMI(remote method invocation)  , 可以认为是RPC的java版本

 

RMI使用的是JRMP(Java Remote Messageing Protocol), JRMP是专门为java定制的通信协议,所以踏实纯java的分布式解决方案

 

如何实现一个RMI程序

  1. 创建远程接口, 并且继承rmi.Remote接口
  2. 实现远程接口,并且继承:UnicastRemoteObject
  3. 创建服务器程序: createRegistry方法注册远程对象
  4. 创建客户端程序

 

自己实现RMI

  1. 编写服务器程序,暴露一个监听, 可以使用socket
  2. 编写客户端程序,通过ip和端口连接到指定的服务器,并且将数据做封装(序列化)
  3. 服务器端收到请求,先反序列化。再进行业务逻辑处理。把返回结果序列化返回

 

源码分析

为什么不用RMI:

因为是BIO,并且不能支持多语言,基于JDK的无法做负载,序列化使用Java的序列化

发表评论

邮箱地址不会被公开。 必填项已用*标注