mod_cluster

3,591 views

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,591
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
34
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/

×