我对 Coldfusion 聚类几乎没有什么疑问。
创建单个 ColdFusion 服务器的多个实例、通过添加这些实例创建群集并在群集上托管应用程序有什么好处吗?与直接使用默认 cfusion 实例相比,性能是否有优势?
假设我有两台机器,每台都安装了 CF 企业版。现在,对于负载平衡,有两个选项:i. 使用 ColdFusion 集群,通过从两台服务器添加实例来创建集群(使用“注册远程实例”选项),然后托管应用程序。ii. 使用单独的硬件负载平衡器来分配流量。哪个选项比较好用?
我是 Coldfusion 集群和负载平衡的新手,请帮忙。
答案1
正如你所观察到的,你没有得到故障转移如果你把所有的 ColdFusion 鸡蛋都放在同一个服务器篮子里。所以如果这是你的目标之一,那么在一个服务器中集群多个 ColdFusion 实例对你没有帮助。
但是,在一个机器上拥有多个 CF 实例为同一个应用程序提供服务仍然有其优点:可以获得多个 JVM 服务请求。
过去的一个考虑因素是,JVM 可以处理的内存量是有限的(主要是在 32 位架构上,这在当今并不常见),因此可以在多个 JVM 上运行多个 CF 实例,每个 JVM 都可以分配尽可能多的 RAM。如今,这在 64 位架构上并不是一个真正的问题,而且 JVM 能够稳健地管理大量内存。
至于第二个问题,我没有直接经验,但一般来说,我会尝试使用专门针对手头任务的解决方案。CF 服务器用于处理 CFML,它恰好添加了集群和一定程度的负载平衡作为额外功能,而负载平衡器是用于该工作的专用工具。我认为,如果您需要一个负载平衡、容错的系统,那么您的情况可能足够危急,需要更好的解决方案,即使用专用负载平衡器(如果可以的话)。但就像我说的,我不是这个领域的专家。