1

mysqlデータベースに接続するJavaアプリケーションがあります。次に、別のDBインスタンスを追加して、データベースをレプリケーションモードに変更します。アイデアは、DBの高可用性を提供することです。アプリケーションは、メインデータベースに接続できない場合に備えて、スタンバイDBに切り替えることができる必要があります。これを実装する1つの方法は、2セットの接続を維持し、両方のデータベースを監視し続け、アプリがメインDBに接続できない場合は、次の接続セットに切り替えて続行することです。

私の質問は、mysqlコネクタ自体を介して接続を切り替える透過的な方法はありますか?または、私のアプリとmysqlコネクタの間に配置してこの仕事をすることができるユーティリティアプリはありますか?

明確にするために、master-masterレプリケーションを実行することを計画しています。書き込みと読み取りの両方が頻繁に発生します。

4

1 に答える 1

1

はい、Connector / J(MySQL JDBCドライバー)は接続フェイルオーバーを提供します。

ただし、設定するのは簡単ではありません。これで始められるはずです。

http://dev.mysql.com/doc/refman/5.5/en/connector-j-usagenotes-j2ee-concepts-load-balancing-failover.html

@MikeBrantのポイントは良いです。データが書き込み頻度/読み取り頻度が低い場合は、アプリにマスターDBMSに書き込み、スレーブDBMSのプールから読み取るだけにするのが最善です。アプリの書き込み部分とデータの読み取り部分に異なる接続を使用することをお勧めします。書き込み接続をマスターに向けたまま、負荷分散とフェイルオーバーを使用して読み取り専用接続を設定できます。

于 2012-07-27T16:25:23.860 に答える