mod_jk与mod_cluster的比较

4

有人能告诉我mod_jk和mod_cluster的优缺点吗?

我们希望做非常简单的负载均衡。 我们将使用粘性会话,并且只需要在一个服务器宕机时将新请求路由到新的服务器。 我认为mod_jk可以胜任这项工作,因此为什么我需要mod_cluster呢?

1个回答

12
如果您的JBoss版本为5.x或更高版本,则应使用mod_cluster,它将比mod_jk提供更好的性能和可靠性。以下是原因:
- 更好的应用服务器之间负载均衡:负载均衡逻辑是基于应用程序服务器直接提供的信息和度量计算的(请记住,它们对其负载有第一手信息),与mod_jk相比,后者的逻辑是由代理本身计算的。为此,mod_cluster在服务器和代理之间使用了一条额外的连接(除数据连接外),用于发送此负载信息。 - 与服务器中部署的应用程序的生命周期更好地集成:服务器会让代理知道各自节点上应用程序的更改情况(例如,如果您在其中一个节点上取消部署应用程序,该节点将立即通知代理(mod_cluster),从而避免不方便的404错误)。 - 它不需要ajp:您也可以使用http或https。 - 更好地管理服务器生命周期事件:当服务器关闭或重启时,它会通知代理其状态,以便代理可以自动重新配置自身。
您还可以在mod_cluster中使用粘性会话,但是当节点故障时,mod_cluster将无法帮助保持用户会话(与其他负载均衡器一样,除非您将JBoss节点设置为集群)。但是由于上述原因(主要是跟踪服务器生命周期事件和更好的负载均衡),如果其中一个服务器关闭,mod_cluster将更好地且对用户更透明地进行管理(代理将立即收到通知,因此它永远不会向该节点发送请求,除非被告知它已重新启动)。
请记住,您可以在JBoss AS/EAP 5.x或JBoss Web 2.1.1或更高版本中使用mod_cluster(在Tomcat的情况下,我认为是6版本或更高版本)。
总之,虽然您的负载均衡用例很简单,但是mod_cluster提供了更好的性能和可扩展性。您可以在JBoss网站的mod_cluster页面和其文档页面中寻找更多信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接