我听说过用于 GlassFish 等应用程序服务器以及 Terracotta 的术语“集群”;我试图理解集群一词在与应用程序服务器一起使用时以及与 Terracotta 一起使用时意味着什么。
我的理解是:
如果 GlassFish 服务器是集群的,那么这意味着我们有多个物理/虚拟机,每个都有自己的 JRE/JVM,运行不同的 GlassFish 实例。但是,由于它们是集群的,它们都将通过它们的管理服务器(“DAS”)进行通信,并为所有这些服务器部署相同的应用程序。它们将有效地发挥作用(对最终用户),就好像它们是单个应用程序服务器一样——但现在将负载平衡、故障转移/冗余和可伸缩性添加到组合中。
从本质上讲,Terracotta 是一种产品,它可以让多个 JVM 在不同的物理/虚拟机上运行,就好像它们是单个 JVM 一样。
因此,如果我的理解是正确的,则暗示以下内容:
- 当您需要负载平衡和故障转移容错时,您可以集群应用程序服务器
- 当任何特定的 JVM 太小而无法容纳您的应用程序并且您需要更多“马力”时,您可以使用 Terracotta
- 因此,从技术上讲,如果您有一个由 5 个服务器实例组成的 GlassFish 集群;这 5 个实例中的每一个实际上都可以是 Terracotta 实例的数组/集群;这意味着每个 GlassFish 服务器实例实际上是一个 GlassFish 实例,存在于多台机器本身的 JVM 中
如果这些断言/假设中的任何一个不正确,请纠正我!如果我偏离了基础并且显然不了解集群和/或 Terracotta 的目的,请指出我正确的方向!