- PR -

Tomcatをクラスタリングしてインメモリーでデータを共有する方法?

1
投稿者投稿内容
よし
会議室デビュー日: 2005/04/06
投稿数: 11
投稿日時: 2007-11-08 14:32
現在複数のサーバーにTomcatをインストールし、それぞれクラスタリングの設定を行い。
H2 Databaseをインメモリーで使用しデータの共有を行いたいと考えています。

どのように設定を行えば良いか、お伝授いただたきたいと思います。

また、それに変わるような方法がありましたら合わせてお伝授いただたきたいと思います。

OS:CentOS5
AP:Tomcat6
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-11-08 17:54
引用:

H2 Databaseをインメモリーで使用しデータの共有を行いたいと考えています。



Tomcat用のJVMごとにH2Databaseが動いているということですよね。
それだと、クラスタ間のH2同士のデータ同期が難しいと思うので、
H2はどこかのサーバで上げて、各Tomcatからネットワーク経由(JDBC)
で繋ぐ方が一般的かと思いますよ。データベース間の同期に多少時間
がかかってもいいから、レスポンスを上げたい場合は採る可能性のある
構成ではありますがね。ま、その場合でもデータベース使わないで
キャッシュ処理でやっちゃった方が楽で速いとは思います。




かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-11-08 17:57
通常のクラスタ機構では、セッションの値のみが同期されます。
個別にDBサーバを用意した方がよいでしょう。
よし
会議室デビュー日: 2005/04/06
投稿数: 11
投稿日時: 2007-11-08 22:43
小僧様、かつのり様

ご意見を頂き本当にありがとうございました。

私が行いたいことですが、あくまでもネットワーク経由(JDBC)をせずに
うまくデータベースのデータを各サーバーで情報を共有したいというのがあります。

H2 DatabaseのインメモリーDBとH2 Database DBサーバーのクラスタリングを行うことで対応できますでしょうか?

Oracle TimesTen In-Memory DatabaseとOracle Databaseで対応出来ますでしょうか?

何か良い方法、方式がありましたらご伝授いただきたいと思います。

よろしくお願いいたします。

[ メッセージ編集済み 編集者: よし 編集日時 2007-11-08 22:45 ]
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-11-09 11:31
引用:

私が行いたいことですが、あくまでもネットワーク経由(JDBC)をせずに
うまくデータベースのデータを各サーバーで情報を共有したいというのがあります。

H2 DatabaseのインメモリーDBとH2 Database DBサーバーのクラスタリングを行うことで対応できますでしょうか?




Oracleの方は存じ上げないですが、H2のドキュメントには
> Clustering can only be used in the server mode
と書かれていて、設定例を見てもJDBC経由での使い方みたいですので、
インメモリで同期するのは無理だと思いますよ。

よし
会議室デビュー日: 2005/04/06
投稿数: 11
投稿日時: 2007-11-11 19:13
小僧さん

アドバイスありがとうございました。

MySQLのレプリケーション機能で対応することにしました。
1

スキルアップ/キャリアアップ(JOB@IT)