我有一个项目,我正在从事用Java编写的各个独立任务,并在LAN上的计算机上执行任务以有效地解决任务。如果任务是线程安全的,它们将作为线程执行,否则作为新的JVM(在原始计算机上确定)并且结果将被发送回原始计算机以进行输出。
我已经搜索了这个主题,但在网格,群集和分布式计算之间不断混淆。在上面描述的场景中,如果有的话,我应该使用哪些?
应该注意局域网上的计算机运行Windows 7,这意味着无论我找到什么解决方案,它都需要在Windows上运行(某些解决方案可能只是* nix)。
答案 0 :(得分:4)
我理解你是如何让你在你提到的三个词之间感到困惑,但是他们无法相互比较,让我解释一下原因;
WIKI:
群集:计算机群集由一组松散或紧密连接的计算机组成,这些计算机协同工作,因此在许多方面,它们可以被视为一个系统
网格:网格计算是来自多个位置的计算机资源的集合,以达到共同的目标。
分布式计算:分布式计算是研究分布式系统的计算机科学领域。分布式系统是一种软件系统,其中位于联网计算机上的组件通过传递消息来通信和协调其操作。
现在你需要的是使用Hadoop或Apache Spark来完成这些任务,或者为了这个目的使用任何内存中的DataGrid,但它可能是一种过度杀伤,除非你能分辨出你到底在做什么。