私は、JBoss用に開発されたプロフェッショナルアプリケーション用にveryフェイル耐性のある設定を構築する方法を探求する任務を負っています。
私はやや固定されたハードウェア構成(サーバーはすでに選択されており、1秒あたり数千の接続を処理することを目的としています)とソフトウェア側のはるかに多くの自由を持っています。
私は当初、専用のL3スイッチを使用するか keepalived を介して、 [〜#〜] vrrp [〜#〜] を使用することを意図していました。 haproxy フェイルオーバーの負荷分散構成でApacheへのアクセスを提供します。
(参照:
JBossをデプロイする必要があるのは初めてなので、宿題をしているときに、mod_jkには基本的にApacheの1つのインスタンスとJBossの複数のインスタンスの間で機能するロードバランサー自体があることを読みました。
私の質問は次のとおりです。HAProxyを使用してhttpロードバランシングとmod_jkを使用してAJP/JBossロードバランシングの両方を設定した場合、何らかのメリットがありますか?負荷分散やアプリサーバーの機能さえも台無しにするでしょうか?
目的の構成の図を次に示します。
私たちはまだ設計段階に入っているので、これ以上の詳細がない理由です。必要に応じて提供できますが、これは、JBoss + Apacheをデプロイする際のさまざまな負荷分散メカニズムの動作に関する一般的な質問であると思います。
私もデータベースを考慮していません。これは私たちが取り組む次のステップです。
私の質問は次のとおりです。HAProxyを使用してhttpロードバランシングとmod_jkを使用してAJP/JBossロードバランシングの両方を設定した場合、何らかのメリットがありますか?
両方ではなく、HAProxyまたは mod_jk
のいずれかを使用して実行します。複数層のロードバランサーを使用してもメリットはありません。
別のオプションは mod_cluster
を使用することです。試してみる。
複数層のロードバランサーを使用してもメリットはありません。
Ajpはhttpよりもはるかに高速なバイナリプロトコルであるため、Apacheに対してtcpモード(httpよりも高速)でHaproxyを使用し、ApacheとJbossの間でmod_jkを使用すると、多少のブーストが見られます。 Jbossに対するHaproxyhttpモードとの比較。