mysqlコネクタjのレプリケーションパラダイムをチェックし始め、マスターデータベースとスレーブデータベースで読み取り操作と書き込み操作を分離できることを確認しました。
以下のページを確認して操作の手がかりを得ましたが、mysql-jdbcがどのサーバーがマスターでどのサーバーがスレーブであるかをどのように理解するかを知る必要がありますか?(ばかげているかもしれません、これは申し訳ありません)
mysqlコネクタjのレプリケーションパラダイムをチェックし始め、マスターデータベースとスレーブデータベースで読み取り操作と書き込み操作を分離できることを確認しました。
以下のページを確認して操作の手がかりを得ましたが、mysql-jdbcがどのサーバーがマスターでどのサーバーがスレーブであるかをどのように理解するかを知る必要がありますか?(ばかげているかもしれません、これは申し訳ありません)
ReplicationDriverまたはNonRegisteringReplicationDriverは、最初のURLをマスターとして決定し、残りをスレーブと見なします
考慮すべき点は次のとおりです。ReplicationDriverまたはNonRegisteringReplicationDriverを使用している場合は、少なくとも2つのホストに同じdbインスタンスが含まれていることを指定する必要があります。そうしないと、「マスター/スレーブレプリケーションの負荷分散機能のために接続するスレーブホストを少なくとも1つ指定する必要があります」というSQLExceptionが発生します。
もう1つのポイント:NonRegisteringReplicationDriverのインスタンスを実際に作成する必要はありません。ReplicationDriverも使用しているためです。アプリケーションに例外をスローさせることで確認できます。表示されるのは次のとおりです。DB接続はNonRegisteringReplicationDriver.connect(..)メソッドによって試行されました。
Edit(!):実際には、システム用に特定のドライバー以外を作成する必要はありません。あなたが知る必要があるのは、あなたが何をしているのか、そして正しい接続URLです。Driverクラス自体が、レプリケーションパターンおよびロードバランスパターンに対してURLをチェックするためです。次に、必要なドライバーインスタンスをトリガーします。