TOP比較データ> はじめに
Javaアプリケーションサーバのクラスタリング機能比較
Javaアプリケーションサーバのクラスタリング機能比較

第1回:Tomcatによるクラスタリングの実現
著者:サンモアテック  津田 新吾   2005/10/25
1   2  3  4  次のページ
はじめに

   現在、エンタープライズ環境で動作するアプリケーションサーバには様々なものがありますが、どれもデフォルトでクラスタリングの機能を搭載しているものがほとんどです。

   クラスタリングを行う目的としては主に2つあげられます。1つはパフォーマンスの向上で、もう1つは可用性の向上です。まずは、これらの機能について解説していきます。


クラスタ化によるパフォーマンスの向上(ロードバランス)

   開発したアプリケーションに対して非常に多数のアクセスがあった場合、1台のサーバでは処理がまかないきれなくなります。

   そういった場合には、前段にロードバランサを配置することで複数台に処理を振り分ければよいのですが、ECサイトなどでログインユーザのセッション情報などを保持しているアプリケーションが動作している場合、最初にログインしたサーバとは違うサーバに処理が移った場合セッション情報が共有されていないと継続して処理を行うことができなくなってしまいます。

   こういった場合でもクラスタ機能搭載のアプリケーションサーバであればセッション情報のレプリケーション機能により、複数台のサーバによるセッション情報の共有が可能となります。もちろんEJBでの情報の共有が必要な場合でも対応させることが可能です。

   つまり複数台のサーバで同じアプリケーションを同じ状態で動かすことができるようになり、見かけ上のパフォーマンスを向上させることが可能です。

クラスタ化によるパフォーマンス向上
図1:クラスタ化によるパフォーマンス向上


クラスタ化による可用性の向上(フェイルオーバー)

   アプリケーションが1台のサーバでのみ動作しているのであれば、そのサーバが止まればそのアプリケーションも停止してしまいます。ミッションクリティカルなアプリケーションでは特にそういったことは避けなければなりません。

   この場合も前述のパフォーマンスの向上の場合と同様に複数台のサーバの状態を同じにしておけば、ある1台が異常終了したとしても、残りのサーバで処理を継続していくことが可能となり、ノンストップな実行環境を維持することが可能になります。

クラスタ化による可用性の向上
図2:クラスタ化による可用性の向上


Tomcatのクラスタリング概要

   本連載の第1回はTomcatのクラスタリングについて概要を説明し、第2回でその実践を解説します。Tomcatで実現するクラスタリングとしてはロードバランス、フェイルオーバー、ファーミングがあります。

   ロードバランスとフェイルオーバーについては先ほど説明しましたが、ここで新たにファーミングという要素がでてきています。ファーミングとは、一度デプロイ/アンデプロイ作業を行えばクラスタサーバ全体にデプロイ/アンデプロイが反映されることで、簡便な運用を実現する機能です。

1   2  3  4  次のページ


株式会社サンモアテック 津田 新吾
著者プロフィール
株式会社サンモアテック  津田 新吾
技術開発事業部。
某電線メーカーでカーナビの経路案内・経路計算などの組込みソフトウェア開発を10年近く経験。その後現在の(株)サンモアテックに入社。以来、携帯Javaでの業務支援システムやオープンソースのエンタープライズ適用、Webサービスなど主にサントリーグループ向けの新技術開発に従事している。


INDEX
第1回:Tomcatによるクラスタリングの実現
はじめに
  Tomcatクラスタリングのアーキテクチャ
  フェイルオーバー
  Membership