我浏览了网页,试图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为故障切换。
只是一些思想的食物。