网格计算中用于发现客户端的软件

时间:2013-10-23 18:47:22

标签: java cluster-computing distributed-computing grid-computing

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

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

我也想知道是否使用相同的方法向客户发送各种工作/目标?

我希望找到一个Java友好的解决方案,如果可能的话。

谢谢!

2 个答案:

答案 0 :(得分:0)

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

然后,无论服务需要什么,资源都可以查询/资源,如果在分配工作之前查找资源以执行某些操作并检查其规范。

Zookeeper的Java APi非常好。我发现它很容易使用。

答案 1 :(得分:0)

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

您可能希望查看的一些Java-firendly实现:UnicoreJPPFHTCondorGridGainHadoopGlobusHazelcast