这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【部署两台Service,如何在WEB中随机访问任意一台Service】
大家好,我是IT修真院深圳分院第十期学员,一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务八——部署两台Service,如何在WEB中随机访问任意一台Service
1.背景介绍
RMI简介
RMI(Remote Method Invocation)是JAVA早期版本(JDK 1.1)提供的分布式应用解决方案,它作为重要的API被广泛的应用在EJB中。 随着互联网应用的发展,分布式处理任务也随之复杂起 来,WebService也得到普遍的推广和应用。
2.知识剖析
RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。 可以用此方法调用的任何对象必须实现该远程接口。 调用这样一个对象时,其参数为 "marshalled" 并将其从本地虚拟机发送到远程虚拟机(该远程虚拟机的参数为 "unmarshalled")上。 该方法终止时,将编组来自远程机的结果并将结果发送到调用方的虚拟机。 如果方法调用导致抛出异常,则该异常将指示给调用方。
3.常见问题
为什么要使用RMI,有什么优点
4.解决方案
优点:
1、面向对象: RMI可将完整的对象作为参数和返回值进行传递,而不仅仅是预定义的数据类型。 也就是说,可以将类似Java哈西表这样的复杂类型作为一个参数进行传递。 2、可移动属性: RMI可将属性从客户机移动到服务器,或者从服务器移动到客户机。 3、设计方式: 对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能,如二层和三层结构系统。 如果用户能够传递属性,那么就可以在自己的解决方案中使用面向对象的设计方式。 所有面向对象的设计方式无不依靠不同的属性来发挥功能,如果不能传递完整的对象——包括实现和类型 ——就会失去设计方式上所提供的优点。 4、安全性: RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全。 RMI使用专门为保护系统免遭恶意小程序侵害而设计的安全管理程序。 5、便于编写和使用 RMI使得Java远程服务程序和访问这些服务程序的Java客户程序的编写工作变得轻松、简单。 远程接口实际上就是Java接口。
5.编码实战
如何实现(serer之间的切换)
6.扩展思考
7.参考文献
百度、维基、CSDN
8.更多讨论
Q1:
registryPort和servicePort?
A1:
注册端口:registryPort 注册端口是RMI注册远程服务的端口。
服务端口:servicePort RMI的通讯需要的传送数据的端口。如果没有设置servicePort,则使用随机端口。
Q2:
RMI 服务器重启,总是会出现客户端连接拒绝的问题。
A2:
服务器重启会影响到客户端,说明客户端有保存着重启之前的服务器连接相关记录。有可能是客户端有缓存,所以只要刷新缓存即可解决问题。
Q3:
Spring RMI会占用两个端口?
A3:
Spring RMI 有两个端口,一个是注册端口(默认为1099),还有一个是数据传输端口,如果不指定,数据传输端口是随机分配的。
鸣谢:
感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。
-------------------------------------------------------------------------------------------------------------------------
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。
更多内容,可以加入IT交流群565734203与大家一起讨论交流
这里是技能树·IT修真院:,初学者转行到互联网的聚集地
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。