我的任务是探索如何建立一个非常为 JBoss 开发的专业应用程序的防故障配置。
我有一个相对固定的硬件配置(服务器已经选定,它们旨在每秒处理数千个连接)和软件方面的更多自由。
我最初打算使用虚拟专用网络备份组,使用专用的 L3 交换机或通过保持活跃, 和哈普罗西在故障转移、负载平衡配置中提供对 Apache 的访问。
(参考:
这是我第一次需要部署 JBoss,因此在做作业时我读到 mod_jk 本质上有一个负载均衡器,可以在一个 apache 实例和多个 JBoss 实例之间工作。
我的问题是:如果我同时使用 HAProxy 配置 http 负载平衡和使用 mod_jk 配置 AJP/JBoss 负载平衡,我会得到什么好处吗?它会以某种方式破坏负载平衡甚至应用服务器的功能吗?
以下是预期配置的图表:
我们仍处于设计阶段,因此没有更多详细信息。如果需要,我可以提供它们,但我相信这是一个关于部署 JBoss + Apache 时不同负载平衡机制的运作的一般问题。
我还没有考虑数据库,这是我们下一步要解决的问题。
答案1
我的问题是:如果我同时使用 HAProxy 配置了 http 负载平衡以及使用 mod_jk 配置了 AJP/JBoss 负载平衡,我会得到任何好处吗?
我会使用 HAProxy 或mod_jk
,而不是两者。我看不出使用多层负载均衡器有什么好处。
另一种选择是使用mod_cluster
。 试一试。
答案2
我不认为使用多层负载均衡器有任何好处。
Ajp 是比 http 快得多的二进制协议,因此如果您在 tcp 模式(比 http 快)中在 Apache 前面使用 Haproxy,然后在 Apache 和 Jboss 之间使用 mod_jk,您会注意到一些提升。与 Haproxy http 模式和 Jboss 相比。