【发布时间】:2011-11-05 20:41:18
【问题描述】:
我正在开始我的最后一年的计算机科学项目,我正在努力弄清楚我的第一步。更多详情可以前往项目page。
背景: 因为我在分布式系统方面的经验很少,所以我基本上在想我应该如何面对这样的挑战。我想出的是系统应该如下工作:
客户端发出一个文件或一组文件,其中包含要处理的代码。该代码将实现一个由我编写的分布式算法接口,一个特定的类。服务器将从类中创建一个对象。该对象将负责运行算法。服务器将结果返回给客户端。 (实际上我后来读到 RMI 并发现它非常相似)。
发送文件是基本的 - 常见的网络 I/O。 真正的问题是创建对象并将其用作运行时的预定义接口。
问题:
- 我提出的挑战听起来像是一个反思挑战,这是正确的吗?
- 您对如何实施它有任何初步提示吗?
在寻找一些分布式系统 java 技术时,我遇到过 RMI、TRMI、LINDA、CORBA、JINI 等。 RMI 听起来最吸引人,因为它与我收集到的解决方案非常相似,但它也很旧。
- 您认为哪组库可以帮助我完成这项任务?请记住,我是一名计算机科学专业的学生,所以开箱即用的完整解决方案不会被我的教授所接受。
- RMI 已经过时了,还有更好的解决方案吗?
- 有任何关于 TRMI 的综合教程吗?
如果你觉得我的逻辑有些错误,请纠正它。
如果您有更多关于该主题的建议,您认为应该讨论,请随时与我联系。
【问题讨论】:
-
RMI 是 Java 中进程间通信的默认设置。它是“旧的”,因为它从 Java 开始就已经可用和改进了——我宁愿称它为成熟的。根据您的要求/教授,您还可以尝试将您的解决方案建立在 Hadoop 之类的基础上,或者至少从那里获得一些灵感。
-
如果它成熟了就好了。我只找到了关于它的非常旧的文档,所以从我的角度来看,我认为它并没有太大的发展。您是否有描述该库随时间发展的链接?
-
RMI(远程方法调用)不是库。它是某种技术,是 JRE/JDK 的一部分。
-
@qballer RMI 没有官方历史,因为它确实是 JRE/JDK 的一部分,就像 Andreas 指出的那样——RMI release notes 详细介绍了 Java 1.2.2 之前的主要添加/更改。
标签: java distributed-computing