我怎样才能使一个高可用性的tomcat集群没有单点故障?

我浏览了网页,试图find一种方法来创build一个没有单点故障的tomcat集群,而我发现的所有东西都是我需要一个叫做dispatcher的东西,在这种情况下,它将是Apache web服务器,两个tomcat服务器。

调度程序将收到请求并将这些请求交给tomcat服务器,但是如果Apache Web服务器closures了,我该如何克服这个失败点呢?

你可以使用两台机器的集群,每台机器都可以在Apache之后运行一个tomcat实例。

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

我会build议一个简单的故障转移devise,其中两台机器共享监听相同IP的configuration,但是IP在它们之间漫游,如果故障转移,另一台主机接pipeIP并启动服务。 你很可能还需要一个冗余的数据库设置。 老实说,要求在这方面有经验的人为你做这样的安装,因为在一天之内,人们就知道这一切是值得了解的。

如果您担心某个进程没有运行,monit( http://mmonit.com/monit/ )会很好地跟踪进程。 我已经在高可用的情况下使用它,它会在失败时提醒并重新启动(或重启失败时提醒),并通过TCP连接检查当前使用的PID是否有进程已更改/未运行/无法连接/等等

我同意在后端(如果你正在使用数据库)它应该被复制。 您可以使用钨拓扑,然后您可以使数据库脱机,没有terminal用户会更聪明。

LVS始终是负载平衡和指导Webstream量的绝佳工具。 您可以从LVS循环中删除Web服务器以执行维护。

如果你有2个网卡(就像大多数服务器那样),那么我也会把它们放到不同的交换机上,并确保交换机位于不同的电源线路上的不同的PDU上,这样你就可能失去一个电源电路,仍然保持networkingstream量在内部进行(因为您可以将internalLVS IP浮动到所述服务器上的第二个networking接口)。

您的路由器/防火墙也应configuration为故障切换。

只是一些思想的食物。