<分区>
我正在研究 tomcat 的高可用性。
我读到你可以在 Tomcat 中做集群,你可以使用 Apache http 作为负载平衡器。
我无法理解以下内容:
应该作为负载平衡模块的 Apache http 应该安装在与 Tomcat 服务器不同的机器上吗?
例如。如果我有 3 个 tomcat 服务器作为一个集群,是否应该在所有 3 个中安装 http?或者在其他服务器上?
如果我使用 Linux 设施来实现高可用性,又有什么区别?
<分区>
我正在研究 tomcat 的高可用性。
我读到你可以在 Tomcat 中做集群,你可以使用 Apache http 作为负载平衡器。
我无法理解以下内容:
应该作为负载平衡模块的 Apache http 应该安装在与 Tomcat 服务器不同的机器上吗?
例如。如果我有 3 个 tomcat 服务器作为一个集群,是否应该在所有 3 个中安装 http?或者在其他服务器上?
如果我使用 Linux 设施来实现高可用性,又有什么区别?
最佳答案
一般来说,没有这样的限制,Apache 应该在单独的机器上实现。在实践中,您可能想要这样做。
Apache 可以用作负载均衡器,这样所有的请求都会到达 apache,它会根据策略将查询分派(dispatch)给某个 tomcat(决定何时分派(dispatch)给哪个 tomcat 的算法,例如循环法) .
应该安装一个apache,它可以与3个tomcats(任意数量的tomcats)通信。
顺便说一句,它没有必要像 Apache 这样基于软件的负载均衡器,您可以使用硬件负载均衡器。
Apache = httpd 它是一个 Web 服务器,可以接受 http 请求并(除其他事项外)将它们分派(dispatch)给 tomcat。
Tomcat 也是一个用 java 编写的网络服务器,旨在运行 Java 网络应用程序。
所以整体架构应该是这样的:
client --> Apache (host a) ________ tomcat1 (host b)
|________ tomcat2 (host c)
|________ tomcat3 (host d)
至于硬件负载平衡器 - 这些是各种制造商的盒子,如 Sisco、F5 等。
希望对你有帮助
关于java - Tomcat集群新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13561273/