1

在网格计算中,服务器用于发现客户端并获取有关它们的信息的实际软件实践是什么?例如,客户端的名称、可用内存量、客户端当前是否正在执行任务(以及完成了多少任务)等。还是相反?客户端是否偶尔向服务器报告该信息?

这会通过 RPC 完成吗?还是消息传递协议(AMQP、STOMP)?

我还想知道是否使用相同的方法向客户发送各种工作/任务以完成?

如果可能的话,我正在寻找一个 Java 友好的解决方案。

谢谢!

4

2 回答 2

0

网格计算中的服务器/节点/客户端发现没有实际的事实标准,至少没有普遍使用的标准。许多实现使用基于 UDP 多播的临时发现,其他实现使用基于注册表的发现,如在 SOA 架构中。有很多解决方案,但没有通用标准。

您可能想查看一些 Java 友好的实现:UnicoreJPPFHTCondorGridGainHadoopGlobusHazelcast

于 2013-10-24T18:33:00.357 回答
0

Zookeeper 是需要考虑的。如果您的资源分布广泛,则可能与 JMS 消息传递结合使用。我使用 Zookeeper 和在每个节点上运行的 SystemInfo 服务。该服务注册系统信息:内存、CPU 数量、磁盘空间以及 Zookeeper 中 /Resources 中的 znode。

然后,任何需要资源的服务都可以查询 /Resources 如果要查找资源来做某事并在分配工作之前检查其规范。

Zookeeper 的 Java API 非常好。我觉得很容易合作。

于 2013-10-23T19:20:43.560 回答