
9 クラスタ・アーキテクチャを読んでみる
9 クラスタ・アーキテクチャを読んでみる
クラスタ・アーキテクチャとは?
クラスタ・アーキテクチャとは、アプリケーションが複数のサーバーに分散して動作する仕組みのことです。これにより、高可用性や負荷分散が可能になります。
重要な用語
アーキテクチャ: アプリケーションがクラスタにデプロイされる仕組み。
Web層: 静的なコンテンツ(HTMLページなど)を提供。外部クライアントが最初にアクセスするポイント。
プレゼンテーション層: 動的なコンテンツ(サーブレットやJSPなど)を提供。
オブジェクト層: Javaオブジェクト(EJBなど)やビジネスロジックを提供。
DMZ(非武装地帯): 外部からアクセス可能な、安全性が内部システムより低い領域。
ロード・バランサ: クライアントのリクエストを複数のサーバーに分散する装置や技術。
プロキシ・プラグイン: WebサーバーからWebLogic Serverクラスタへのリクエストを中継する機能。
推奨基本アーキテクチャ
全ての層(Web層、プレゼンテーション層、オブジェクト層)を1つのクラスタにまとめたアーキテクチャです。
利点:
管理の容易さ: WebLogic Server管理コンソールで一括管理。
柔軟なロード・バランシング: HTMLとサーブレットのリクエストをバランス良く処理。
堅牢なセキュリティ: ファイアウォールで守られたDMZを設定可能。
最適なパフォーマンス: 同一クラスタ内でのアクセスで高速処理。
推奨複数層アーキテクチャ
各層(Web層、プレゼンテーション層、オブジェクト層)を別々のクラスタに分けたアーキテクチャです。
利点:
EJBメソッドのロード・バランシング: 複数サーバー間でのメソッド呼び出しをバランス良く処理。
改良されたサーバー・ロード・バランシング: 層ごとに最適なサーバー数を調整可能。
高可用性: 各層が独立しているため、片方がダウンしても影響を最小限に抑えられる。
改良されたセキュリティ: プレゼンテーション層とオブジェクト層を分離し、外部からのアクセスを制限。
組合せ層アーキテクチャ vs 複数層アーキテクチャ
組合せ層アーキテクチャ: 全ての層を1つのクラスタにまとめる。
メリット: 管理の簡便さ、一貫したセキュリティ設定、迅速な内部アクセス。
デメリット: 層ごとの負荷分散が難しい。
複数層アーキテクチャ: 各層を異なるクラスタに分ける。
メリット: 層ごとの最適な負荷分散、障害耐性の向上。
デメリット: 設定が複雑になる。
注意事項
ロード・バランシング: 組合せ層アーキテクチャでは主にクライアントとクラスタ間で行われるが、複数層アーキテクチャでは層間でも行われる。
セキュリティ: DMZ設定により外部からのアクセスを制限し、セキュリティを強化。
パフォーマンス: アプリケーションの特性に応じて、組合せ層か複数層のどちらを選ぶか決める。