tomcat集群apache在前面 - 如何加载平衡?

时间:2016-11-07 13:32:26

标签: apache tomcat

什么apache模块更适合构建以下集群: 2x Red Hat每个都有一个tomcat和一个apache。 没有可扩展性需求。 高可用性需求。 会话复制需求。

          DNS
           |
     Load Balancer
      /           \
  APACHE1      APACHE2
  TOMCAT1      TOMCAT2

问题是关于用apache负载平衡的模块用什么模块?

mod_proxy的 mod_cluster 其他

1 个答案:

答案 0 :(得分:1)

如果我正确理解mod_cluster,它必须与JBoss一起使用,或与修改后的Tomcat一起使用。因此,如果您使用的是普通的Tomcat(或TomEE),那么我认为mod_cluster已经出局了。

最简单的开箱即用选项是将mod_proxy与AJP或HTTP后端一起使用。如果您愿意构建其他模块,可以从Tomcat人员那里获得mod_jk,并提供优于mod_proxy的一些优势,尽管mod_proxy几乎实现了功能奇偶校验。

您的图表表明负载均衡器将在两个httpd实例之间进行选择,这两个实例直接耦合到单个Tomcat实例。在那种情况下,httpd根本没有执行任何负载平衡(lb正在进行工作),因此httpd在该配置中可能是多余的。

如果您想要将两个httpds与两个Tomcats交叉链接,那么当您开始使用mod_proxy"' s"平衡器&#34配置类似群集的行为时;配置。它看起来像这样:

<Proxy balancer://appA>
  BalancerMember http://tomcatA:8080/appA
  BalancerMember http://tomcatB:8380/appA
</Proxy>

ProxyPass /appA balancer://appA
ProxyPassReverse /appA balancer://appA

您应该阅读tons of options for mod_proxy以适用于您的配置。您可以配置诸如粘性会话,热备份(在示例图中不存在,但如果您确实需要HA则是个好主意)以及非对称负载平衡等事项。