如何创建没有单点故障的高可用性 tomcat 集群?

如何创建没有单点故障的高可用性 tomcat 集群?

我在网上搜索并试图找到一种方法来创建一个没有单点故障的 tomcat 集群,而我发现我需要一个叫做调度程序的东西(在本例中是 Apache 网络服务器)和两个 tomcat 服务器。

调度程序将接收请求并将这些请求转交给 tomcat 服务器,但是如果 Apache Web 服务器发生故障,我该如何克服这个故障点?

答案1

您可以使用两台机器组成的集群,每台机器在 apache 后面运行一个 tomcat 实例。

http://www.linux-ha.org/doc/users-guide/users-guide.html

我建议采用一种简单的故障转移设计,即两台机器共享配置以监听同一个 IP,但该 IP 在它们之间移动,如果发生故障转移,另一台主机将接管该 IP 并启动服务。您很可能还需要一个冗余数据库设置。老实说,请有该领域经验的人为您安装,因为一个人不可能在一天之内学到所有值得了解的知识。

答案2

如果你担心某个进程没有运行,可以监控(http://mmonit.com/monit/) 非常适合跟踪进程。我曾在高可用性情况下使用过它,它会在发生故障时发出警报并重新启动(或在重新启动失败时发出警报),并通过 TCP 连接以及当前使用的 PID 进行检查,以通知您进程是否已更改/未运行/无法连接/等。

我确实同意后端(如果您使用数据库)应该进行复制。您可以使用钨拓扑,然后可以将数据库脱机,并且最终用户不会知道。

LVS 始终是用于负载平衡和引导网络流量的绝佳工具。您也可以从 LVS 循环中移除网络服务器以进行维护。

您还需要考虑网络问题,如果您有 2 个 NIC(大多数服务器都有),那么我会将它们放入不同的交换机中,并确保交换机位于不同电源电路上的不同 PDU 上,这样您就可以失去电源电路并且仍然保持网络流量在内部流动(因为您可以将您的 internalLVS IP 浮动到所述服务器上的第二个网络接口)。

您的路由器/防火墙也应该配置为故障转移。

仅供思考。

相关内容