【问题标题】:Java RMI Compute EngineJava RMI 计算引擎
【发布时间】:2015-08-28 17:29:39
【问题描述】:

我正在关注Java RMI tutorial 从这里构建一个示例计算引擎,客户端可以在其中向已知服务器提交任务,服务器将执行任务并返回结果。

成功编译和创建新任务后,我想通过反转逻辑来进一步了解,即服务器将任务发送给客户端。

我将如何在概念上做到这一点?如果我理解正确,RMI 服务器公开了 executeTask() 方法,客户端在连接到服务器时调用该方法。我正在努力将每个客户端变成一个“服务器”,每个客户端都运行一个 RMI 注册表,另一个应用程序将连接到每个 rmi 注册表并调用 executeTask 方法,从而下载该类。

在我缺少的逻辑中是否有明显的方法?拥有多个 RMI 注册表似乎是不正确的。

我最终想要的是一个带有暴露 RMI 注册表的服务器。所有客户端都连接到服务器,服务器在每个客户端上调用 executeTask() 方法来处理客户端上的任务。当然任务类需要位于服务器端,动态下载到客户端(目前任务位于客户端,发送到服务器端)。

【问题讨论】:

    标签: java parallel-processing task rmi distributed-computing


    【解决方案1】:

    让服务器公开一个fetchNextTask() 方法,并让客户端在他们准备好执行另一项任务时调用它。

    【讨论】:

    • 感谢您的回复。所以你是说我让每个客户都持有 RMI 逻辑的方法是正确的方法吗?我很难在纸上写下,什么功能将在哪里举行。如果您熟悉本教程或问题领域,您能否进一步扩展我应该采用的架构?
    • 没有。不要把话塞进别人的嘴里。我已经告诉过您如何实施您提出的问题。这是否是一个好主意是一个完全不同的问题,我什么都没说。我已经为您提供了您应该需要的所有“架构”。
    • 冷静下来,没有人把话放在嘴里。这是一个问题,看看我是否正确地解决了这个问题。作为初学者,您的“答案”对我来说还不够。但是,感谢您的光临。请继续。
    • 把话塞进我嘴里。这就是“你这么说”形式的问题总是这样做的。根据我丰富的经验,对这种形式的问题的答案总是“不”。
    猜你喜欢
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 2018-05-20
    • 2013-12-05
    • 2014-04-05
    相关资源
    最近更新 更多