使用 haproxy 和 mod_jk 對 JBoss 進行負載平衡
我的任務是探索為為 JBoss 開發的專業應用程序建構非常抗故障的配置的方法。
我有一些固定的硬體配置(已經選擇了伺服器,它們旨在每秒處理數千個連接)並且在軟體方面有更多的自由。
我最初打算使用VRRP,通過專用的 L3 交換機或通過keepalived和haproxy在故障轉移、負載平衡配置中提供對 Apache 的訪問。
(參考:
這是我第一次需要部署 JBoss,所以在做作業時我讀到 mod_jk 本質上具有一個負載均衡器本身,它可以在一個 apache 實例和多個 JBoss 實例之間工作。
我的問題是:如果我使用 HAProxy 配置 http 負載平衡和使用 mod_jk 配置 AJP/JBoss 負載平衡,我會得到什麼好處嗎?它會以任何方式破壞負載平衡甚至應用伺服器的功能嗎?
這是預期配置的圖表:
我們仍處於設計階段,所以這就是沒有更多細節的原因。如果需要,我可以提供它們,但我相信這是一個關於部署 JBoss + Apache 時不同負載平衡機制的工作原理的一般性問題。
我也沒有考慮數據庫,這是我們要解決的下一步。
我的問題是:如果我使用 HAProxy 配置 http 負載平衡和使用 mod_jk 配置 AJP/JBoss 負載平衡,我會得到什麼好處嗎?
我會通過使用 HAProxy 或
mod_jk
,而不是兩者來做到這一點。我認為使用多層負載均衡器沒有任何好處。另一種選擇是使用
mod_cluster
. 試試看。
我認為使用多層負載均衡器沒有任何好處。
Ajp 是比 http 快得多的二進制協議,所以如果你在前面使用 Haproxy 以 tcp 模式(比 http 更快)到 Apache,然後在 Apache 和 Jboss 之間使用 mod_jk,你會注意到一些提升。將 Haproxy http 模式與 Jboss 進行比較。