mod_cluster

                          Takayoshi Kimura

Senior Software Maintenance Engineer, JBoss
                     ...
mod_cluster とは

●   インテリジェントロードバランサ
    –   バックエンドサーバからフロントエンドプロキシ
        へのフィードバック機能のあるロードバランサ
    –   あとで詳しく
●   ふつうのロー...
http://oddthesis.org/posts/2008-12-jboss-and-mod_cluster
動作要件
●   フロントエンドプロキシ
    –   Apache HTTPD 2.2.8+
         ●   mod_proxy と mod_proxy_ajp に依存
●   バックエンド
    –   JBoss AS
  ...
機能
●   自動構成
    –   ノードの追加削除を検出し自動設定
●   カスタマイズ自由なサーバサイドロードファク
    タ算出
    –   フロントエンド ( プロキシ ) 側の情報のみで振り分
        けするのではな...
機能
●   より細かいライフサイクルコントロール
    –   デプロイされている、いないといった情報もバッ
        クエンドサーバから
●   HTTP と AJP の両方をサポート
    –   リクエスト転送は mod_pr...
デモ
●   JBoss AS 6.0.0.M2
     –   mod_cluster 1.1.0.Beta1 が同梱
●   mod_cluster 1.1.0.Beta1 linux x86 bin
自動構成 (Advertise)
●   プロキシが自分の情報をマルチキャスト
    (Advertise) し、バックエンドがそれを元にプ
    ロキシへ情報を送信する
●   マルチキャストが到達する同一ネットワーク内
    のみ使用...
自動構成 (Advertise)
HTTP/1.0 200 OK
Date: Wed, 08 Apr 2009 12:26:32 GMT
Sequence: 16
Digest: f2d5f806a53effa6c67973d2ddcdd233...
MCMP

●   Mod Cluster Management Protocol
●   バックエンドからプロキシへ、ロードファクタ
    やライフサイクルイベントなどの情報伝達に利
    用するプロトコル
●   フロントエンド側に M...
MCMP

ENABLE-APP / HTTP/1.0
Content-Length: 51

JvmRoute=node1&Alias=localhost&Context=/jmx-
console
MCMP リクエスト

●   CONFIG        ●   STATUS
●   ENABLE-APP    ●   INFO
●   DISABLE-APP   ●   DUMP
●   STOP-APP      ●   PING
...
バックエンドクラスタモード
●   JBoss AS のみサポート
    –   ModClusterService の代わりに
        HAModClusterService を有効化
●   全てのバックエンドから各フロントエンド...
バックエンドクラスタモード
●   non-clustered




http://ordinarythoughts.org/2008/12/27/mod_cluster-nowe-spojrzenie-na-load-balancery/
バックエンドクラスタモード
●   clustered




http://ordinarythoughts.org/2008/12/27/mod_cluster-nowe-spojrzenie-na-load-balancery/
ロードバランス
●   SimpleLoadBalanceFactorProvider
    –   固定値のロードファクタを返却
●   DynamicLoadBalanceFactorProvider
    –   様々なロードメトリク...
ロードメトリクス
●   AverageSystemLoadMetric
●   BusyConnectorsLoadMetric
●   SystemMemoryUsageLoadMetric
●   HeapMemoryUsageLoadM...
ロードメトリクス
●   ReceiveTrafficLoadMetric
●   SendTrafficLoadMetric
●   ActiveSessionsLoadMetric
●   ConnectionPoolUsageMetric...
リファレンス
●   http://www.jboss.org/mod_cluster/
●   http://community.jboss.org/wiki/ModClust
    erDesign
●   http://anonsvn....
mod_cluster
Upcoming SlideShare
Loading in...5
×

mod_cluster

3,002

Published on

This is slide for Japan JBoss User Group monthly meeting #2.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,002
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

mod_cluster

  1. 1. mod_cluster Takayoshi Kimura Senior Software Maintenance Engineer, JBoss Global Support Service Red Hat
  2. 2. mod_cluster とは ● インテリジェントロードバランサ – バックエンドサーバからフロントエンドプロキシ へのフィードバック機能のあるロードバランサ – あとで詳しく ● ふつうのロードバランサ – ラウンドロビン、ランダムロビン – プロキシ側で見える情報のみで振り分け ● リクエスト転送数の多いものとかリクエスト転送トラ フィック量の多いものとか ● 振り分けている HTTP 以外の情報は基本的になし
  3. 3. http://oddthesis.org/posts/2008-12-jboss-and-mod_cluster
  4. 4. 動作要件 ● フロントエンドプロキシ – Apache HTTPD 2.2.8+ ● mod_proxy と mod_proxy_ajp に依存 ● バックエンド – JBoss AS – Tomcat – JBoss Web
  5. 5. 機能 ● 自動構成 – ノードの追加削除を検出し自動設定 ● カスタマイズ自由なサーバサイドロードファク タ算出 – フロントエンド ( プロキシ ) 側の情報のみで振り分 けするのではなく、振り分け先のバックエンド サーバから情報を取得
  6. 6. 機能 ● より細かいライフサイクルコントロール – デプロイされている、いないといった情報もバッ クエンドサーバから ● HTTP と AJP の両方をサポート – リクエスト転送は mod_proxy/mod_proxy_ajp で行う – 基本 AJP
  7. 7. デモ ● JBoss AS 6.0.0.M2 – mod_cluster 1.1.0.Beta1 が同梱 ● mod_cluster 1.1.0.Beta1 linux x86 bin
  8. 8. 自動構成 (Advertise) ● プロキシが自分の情報をマルチキャスト (Advertise) し、バックエンドがそれを元にプ ロキシへ情報を送信する ● マルチキャストが到達する同一ネットワーク内 のみ使用可能 – マルチキャストが利用できない、もしくは到達し ないネットワーク構成では手動で構成する必要が ある
  9. 9. 自動構成 (Advertise) HTTP/1.0 200 OK Date: Wed, 08 Apr 2009 12:26:32 GMT Sequence: 16 Digest: f2d5f806a53effa6c67973d2ddcdd233 Server: 1b60092e-76f3-49fd-9f99-a51c69c89e2d X-Manager-Address: 127.0.0.1:6666 X-Manager-Url: /bla X-Manager-Protocol: http X-Manager-Host: 10.33.144.3
  10. 10. MCMP ● Mod Cluster Management Protocol ● バックエンドからプロキシへ、ロードファクタ やライフサイクルイベントなどの情報伝達に利 用するプロトコル ● フロントエンド側に MCMP を受けるのに利用 する VirtualHost を一つ定義して mod_manager を有効化する ● プロトロルフォーマットは HTTP リクエストも どき
  11. 11. MCMP ENABLE-APP / HTTP/1.0 Content-Length: 51 JvmRoute=node1&Alias=localhost&Context=/jmx- console
  12. 12. MCMP リクエスト ● CONFIG ● STATUS ● ENABLE-APP ● INFO ● DISABLE-APP ● DUMP ● STOP-APP ● PING ● REMOVE-APP
  13. 13. バックエンドクラスタモード ● JBoss AS のみサポート – ModClusterService の代わりに HAModClusterService を有効化 ● 全てのバックエンドから各フロントエンドにバ ラバラで通信するのではなく、 1 ノードがまと めて行う
  14. 14. バックエンドクラスタモード ● non-clustered http://ordinarythoughts.org/2008/12/27/mod_cluster-nowe-spojrzenie-na-load-balancery/
  15. 15. バックエンドクラスタモード ● clustered http://ordinarythoughts.org/2008/12/27/mod_cluster-nowe-spojrzenie-na-load-balancery/
  16. 16. ロードバランス ● SimpleLoadBalanceFactorProvider – 固定値のロードファクタを返却 ● DynamicLoadBalanceFactorProvider – 様々なロードメトリクスからロードファクタを算 出して返却
  17. 17. ロードメトリクス ● AverageSystemLoadMetric ● BusyConnectorsLoadMetric ● SystemMemoryUsageLoadMetric ● HeapMemoryUsageLoadMetric ● RequestCountLoadMetric
  18. 18. ロードメトリクス ● ReceiveTrafficLoadMetric ● SendTrafficLoadMetric ● ActiveSessionsLoadMetric ● ConnectionPoolUsageMetric ● MBeanAttributeLoadMetric ● MBeanAttributeRatioLoadMetric
  19. 19. リファレンス ● http://www.jboss.org/mod_cluster/ ● http://community.jboss.org/wiki/ModClust erDesign ● http://anonsvn.jboss.org/repos/mod_clust er/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×