rdbmsTweetMySQL用のコネクター、Connector/Jの動作を改めて確認してみました。jdbc:mysql:loadbalanceの接続方法による挙動の違い。|+---------------------------+--------------------------------------+--------------+-------------+--------------+-bash-4.2$オフィシャルマニュアルには以下のように書いてあるけど、十分に検証しないといけないので少し落ち着いたタイミングにならないとアップグレードは少々躊躇する。変更点を一つ一つ確認していくのは難しいので、にバージョン毎の差を明確に、分かりやすく書いてあるマニュアルがあると有難い。現状でも、5.1.17~5.1.47までリリースがある。8.0,5.7,5.6、および5.5での使用を強く推奨します。8.0にアップグレードしてください。JDBCドライバーです。5.5,5.6、および5.7を含むMySQLのすべての機能との互換性を提供します。XML処理、接続ごとのクライアント情報のサポート、NCHAR、NVARCHARおよびNCLOBデータ型のサポートします。4.2ドライバーです。5.5,5.6,5.7,8.0のすべての機能との互換性を提供します。1.8.xが必要です。Jの現在の推奨バージョンは5.1です。Jについても説明します。具体的な注釈は、設定が特定のバージョンに適用される場合に指定します。java]#コンパイルして実行してみます。基本的には、常時左から順に利用可能なサーバーにアクセスして処理します。アクセスしているサーバーに障害が発生した場合は、例2のようにフェールオーバーする事が可能です。3310例2)10回目の接続時に最初にアクセスしたサーバーをダウンさせたらフェールオーバーします。左側に記載したサーバーが利用可能になると、一番左側のサーバーにアクセスします。java]#コンパイルして実行してみます。以下の設定でマスターへの接続かスレーブへの接続か判断して処理します。明示的にレプリケーションドライバーを指定)マニュアルには具体的な内容は発見出来ていませんが以下のようにもコメントされています。現状では上記のようにjdbc:mysql:Replicationでコーディングする方が主流なのかと。それ以降のコールがマスターMySQLサーバーに送信されるようにしてください。ドライバは、このロードバランシング機能を達成するために使用するすべての接続間で、自動コミット、分離レベル、およびカタログの現在の状態を伝達します。この機能を有効にするには、アプリケーション・サーバーの接続プールを構成するとき、またはスタンドアロン・アプリケーション用のJDBCドライバのインスタンスを作成するときにcom.mysql.jdbc.ReplicationDriverクラスを使用します。JDBCドライバでない限り、ReplicationDriverは現在java.sql.DriverManagerベースの接続作成では動作しません。java]#jdbc:mysql:Replicationと同じく、conn.setReadOnly(false)はマスターにconn.setReadOnly(true)はスレーブに参照しに行きます。上記の例だとスレーブ間をラウンドロビンします。java]#以下のように、全てのサーバーにロードバランスされるのでマルチマスター環境で利用可能です。Master設定)の構成で便利です。Clusterの場合は制限事項があるので、バッチ処理等と同じデータベースと利用する場合は十分に検証が必要。