Javaアプリケーションサーバのクラスタリング機能比較 7

サーブレットのフェールオーバ

サーブレットのフェールオーバ

ここでは、Tomcat・JBoss・WebLogic Serverにおけるサーブレットのフェイルオーバーを比較します。各アプリケーションサーバが対応しているセッションの永続化方式は以下の通りです。


アプリケーションサーバ 永続化方式
Tomcat
  • インメモリ
  • データベース
  • ファイル
JBoss
  • インメモリ(データベース、ファイル)
WebLogic
  • インメモリ
  • データベース
  • ファイル
  • Cookie
表4:レプリケーション方式の比較

一般的にインメモリ方式を利用することが多いと思います。TomcatとWebLogic Serverの場合は、インメモリ方式に加えてファイルやデータベースなどの方式もサポートしています。さらにWebLogic Serverは、Cookieを利用したレプリケーションにも対応しています。

この方式は、HttpSessionオブジェクトに大量のデータを格納する必要がない場合、簡単に利用できる機能です。

しかしここでは、「文字列属性しか書き込めない」「文字列でカンマ (,) を使用できない」など、他の方式に比べて制限があることに注意してください。JBossについては、インメモリ方式によるレプリケーションですが、JBossCacheのキャッシュ内容をファイルやデータベースに永続化する方法(CacheLoader)もサポートしています。

それでは、よく利用されているインメモリ方式のレプリケーションを比較します。



インメモリレプリケーションの比較
表5:インメモリレプリケーションの比較
(画像をクリックすると別ウィンドウに拡大表示します)

Tomcatと比較して、JBossのレプリケーション機能(JBossCache)は様々な設定が用意されているので、細かいチューニングができます。また、将来のバージョンでは、setAttributeで渡されるオブジェクトの変更されたメンバ変数のみをレプリケーションすることにより、通信コストを削減する機能拡張が予定されています。

WebLogic Serverは、Tomcat・JBossと比べるとカスタマイズの幅が狭いように思われますが、デフォルトの状態でもパフォーマンスがよく、機能不足も見当たらないため、チューニングに悩む必要はありません。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る