1

我有一个项目,我正在执行用 Java 编写的彼此独立的单个任务,并在 LAN 上的计算机上执行任务以有效地解决任务。如果任务是线程安全的,它们将作为线程执行,否则作为新的 JVM(在原始计算机上确定)并将结果发送回原始计算机进行输出。

我已经围绕这个主题进行了谷歌搜索,但一直对网格、集群和分布式计算感到困惑。在上述场景中,如果有的话,我应该使用哪一个?

应该注意的是,局域网上的计算机正在运行 Windows 7,这意味着无论我找到什么解决方案,它都需要在 Windows 上运行(某些解决方案可能仅限 *nix)。

4

1 回答 1

4

我理解它如何让您对您提到的三个词感到困惑,但它们无法相互比较,让我解释一下原因;

维基:

集群:计算机集群由一组松散或紧密连接的计算机组成,它们一起工作,因此在许多方面,它们可以被视为一个单一的系统

网格:网格计算是从多个位置收集计算机资源以实现共同目标。

分布式计算:分布式计算是研究分布式系统的计算机科学领域。分布式系统是一种软件系统,其中位于联网计算机上的组件通过传递消息进行通信和协调它们的动作。

  1. 所以基本上集群是(在网络或软件层)许多计算机充当一个。
  2. Grid(computation) 使用集群来执行任务。
  3. 分布式计算是执行任务的一种方式。

现在,您需要使用 Hadoop 或 Apache Spark 来完成此类任务,或者使用任何内存中的 DataGrid 来完成此类任务,但这可能是一种矫枉过正的做法,除非您知道自己在做什么。

于 2015-09-06T15:22:10.917 回答