次のページクラスタとは?一般的にクラスタとはシステムに次の機能をもたらすための技術です。スケーラビリティ(拡張性)ハイアベイラビリティ(高可用性)JBossアプリケーションサーバ(以下JBoss)のようなJ2EEサーバ上で開発・運用されるシステムは、大量のユーザリクエスト(トランザクション)を同時に処理しなければならないことが多く、そのためには既存のシステム資源の有効活用や、将来のユーザリクエストの増加に応じてシステムを簡単に増強できることが必要です。これはスケーラビリティ(拡張性)と呼ばれています。一般的にスケーラビリティは、ロードバランシングと呼ばれる負荷分散機能とJ2EEサーバ独自の拡張機能によって実現されます。同時にそのようなシステムは、高い稼働率を要求される場面で使用されることが多くなっており、万一システムの一部に障害が発生してもシステム全体でアプリケーション機能を透過的にクライアントに提供できること、すなわちハイアベイラビリティ(高可用性)が必要です。ロードバランシングとは、外部ハードウェア(ロードバランサー)やApacheプラグインのようなソフトウェアによって、クライアントからのリクエストを複数台からなるJ2EEサーバ群の中の1台に振り分けます。クラスタ構成をとることができるJ2EEサーバには、クラスタを構成するサーバインスタンスのグループに、サーバインスタンスの追加・削除を容易に行える機能を備えています。ハイアベイラビリティは、フェイルオーバー機能で実現されます。フェイルオーバーとは、あるサーバで障害が発生した場合、そのサーバ上の処理とデータを別のサーバが引き継ぐことです。処理の引き継ぎは、ロードバランシング機能がリクエストを、障害が発生したサーバと同じ処理機能を持つ別のサーバに振り分けることで実現されるのが一般的です。データの引き継ぎは、サーバ間で随時別のサーバのデータの複製を持っておくことで可能となります。図1:ロードバランシングシステムをクラスタ化(クラスタリング)することによって、高パフォーマンスで拡張性が高く、かつ、信頼性・堅牢性の高いシステムを構築できることになります。本連載で説明しているミドルウェアについての全般的な情報は以下のURLから参照ください。エンタープライズ環境でHP-UXを使用しているお客様のサポートの仕事に従事。その後、IA-64(Itanium)とPA-RISCのダイナミックトランスレータの開発経験を経て、Java、J2EEベースのベンチマークや障害解析、コンサルティングを経験。現在は、オープンソースのコンサルティングやサポートを行っている。8bitのバイト列やアセンブラコードを見て、解析することを何よりの楽しみ(?)にしています。修一2000年より自社J2EEサーバの開発/国際化/テストに従事。以来、商用/オープンソース問わずJ2EEベースのシステム構築、ベンチマーク等を担当。AS」を含めた「JEMS製品」や、同じくオープンソースのRDBMS「MySQL」のコンサルティングやサポートを精力的に行いながら、毎日、ソースコードと戯れています。この記事の評価をお聞かせくださいボタンをクリックしますとウインドウが開きます。