1.背景介绍
RMI全称是Remote Method Invocation-远程方法调用,是纯Java的网络分布式应用系统的核心解决方案之一。Java RMI 支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
RMI目前使用Java远程消息交换协议JRMP进行通信。由于JRMP是专为Java对象制定的,用Java RMI开发的应用系统可以部署在任何支持JRE的平台上。但由于JRMP是专为Java对象制定的,因此,RMI对于用非Java语言开发的应用系统的支持不足。不能与用非Java语言书写的对象进行通信。
2.知识剖析
一个正常工作的RMI系统由下面几个部分组成:
1·远程服务的接口定义
2·远程服务接口的具体实现
3·桩(Stub)和框架(Skeleton)文件
4·一个运行远程服务的服务器
5·一个RMI命名服务,它允许客户端去发现这个远程服务
6·类文件的提供者(一个HTTP或者FTP服务器)
7·一个需要这个远程服务的客户端程序
RMI的主要优点如下:
1.面向对象:RMI可将完整的对象作为参数和返回值进行传递。直接跨网传递对象。
2.可移动属性:RMI可将属性从客户机移动到服务器,或者从服务器移到客户机。
3.设计方式:对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能。
4.安 全:RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全。
分布式和集群
分布式:一个业务分拆多个子业务,部署在不同的服务器上。集群:同一个业务,部署在多个服务器上
3.常见问题
配置问题,远程连接
4.解决方案
正确配置文件。try/catch处理宏机
5.编码实战
6.扩展思考
7.参考文献
百度,CSDN博客
8.更多讨论
今天的分享就到这里啦,欢迎大家提问和探讨!
提问
q:rmi的缺点
a:rmi只适合java编写的service和client分离
q:rmi怎么实现服务端的通信
a:使用redis集群进行消息分布
q:rmi框架端口通信怎么实行
a:在xml文件中配置对应的端口