决定软件负载平衡解决方案(apache mod 与其他)

cod*_*joe 1 tomcat load-balancing haproxy apache-2.2

我有一个带有 Apache 网络服务器和 Tomcat 的简单网络服务器配置。例如,我们有 2 台服务器。我打算扩大规模。当然,我们很快就会需要一个负载平衡解决方案。我应该使用 Apache 将 Tomcat 服务器置于前端以进行负载平衡还是使用其他东西?

对于 apache 服务器,我是否应该使用一些外部软件(例如 HaProxy)来进行负载平衡,而不是使用 mod_proxy_http 来进行负载平衡?当您在 Linux env 中搜索负载平衡时。你找到了很多 Haproxy 的东西,但没有找到 Apache 服务器,为什么!?

谢谢你!

Kyl*_*ndt 8

HAProxy 使用基于单个进程事件的模型,而对于像 Apache 这样的模型,我相信您有基于线程(mpm_worked)或基于进程(prefork)的模型。假设我是正确的,因为 mod_proxy 仍然基于每个连接的线程或进程(我可能完全错了这个),当你达到更高的负载水平时,这将占用更多的系统资源。

此外,根据我的个人经验,专为做某件事而设计的东西通常比瑞士军刀解决方案更擅长做这件事。因此,例如使用 HAProxy,您可以选择各种关于如何在客户端和负载均衡器之间以及负载均衡器和服务器之间处理保持活动连接的选项。我不确定像 mod_proxy 这样的东西是否会提供这种灵活性。

  • 所有 StackExchange 站点(包括 StackOverflow 和 ServerFault)都在单个 HAProxy 实例后面。还使用 HAProxy 进行速率限制和其他东西——负载均衡器上几乎没有任何负载。 (2认同)