gpt4 book ai didi

java - 只能用tomcat做负载均衡器(没有Apache Http Server)

转载 作者:行者123 更新时间:2023-11-28 22:38:21 24 4
gpt4 key购买 nike

背景:在我的应用程序中,我使用 ServiceMix 实例来处理 HTTP 请求。为了对这些进行负载平衡,我们发现(根据某些要求)我们需要使用 Tomcat。

问题:我觉得应该说tomcat内置了http server,tomcat和mod_jk(没有Apache Http Server)可以用来做负载均衡吗?

我的阅读:我读了很少的 Tomcat 文档,例如 Tomcat Clustering doc, Tomcat JK load balancer (这不是很有帮助)

所以我想知道是否可以只使用 Tomcat 和 mod_jk 来达到负载平衡的目的!!

感谢任何帮助。

最佳答案

要对您的应用程序进行负载平衡,您需要使用同一应用程序运行两个或更多 Tomcat 实例。您可以在同一台机器上的不同端口(例如 www.myapp.com:8080 和 www.myapp.com:9090)或不同机器上的同一端口(例如 www1.myapp.com:8080 和 www2. myapp.com:8080)。通常这些实例共享相同的后端数据存储。每个 Tomcat 都是它自己的网络服务器,因此您将有多个网络服务器在运行。

因为您现在有两个相同的实例,所以用户可以使用这两个实例中的任何一个。如果他们当前使用的机器出现问题,他们还可以从一个切换到另一个。但是您不希望您的用户必须选择一台机器或手动交换。这就是负载均衡器的用武之地。

负载均衡器接受用户的请求并将其动态路由到您的负载均衡实例之一。负载均衡器也是一个 Web 服务器。它可以是 BIG-IP F5 之类的硬件负载平衡器,也可以是 Apache、nginx 甚至另一个 Tomcat 服务器之类的软件。

如果您使用 Apache 网络服务器进行负载平衡,您将需要一个 Apache 模块将请求传递到您的其中一台 Tomcat 服务器。通常这是 mod_jk 或 mod_proxy。

所以简短的回答是,如果您使用 Apache 作为负载均衡器,那么您必须使用 mod_jk(或 mod_proxy)。如果您使用其他负载均衡器,则不能使用 mod_jk。

另请参阅 Tomcat load balancer solutions

关于java - 只能用tomcat做负载均衡器(没有Apache Http Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11754906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com