MySQL Connector/J フェイルオーバー機能の概要とバグ
クラスタで使用するConnector/Jのフェイルオーバー機能はJDBC接続文字列を以下のようにすることで利用できます.
jdbc:mysql://host1:port1,host2:port2,host3:port3,host4:port4/databaseName?autoReconnect=true&roundRobinLoadBalance=true&failOverReadOnly=false
詳しい説明はここには書きません.要点のみ.
- フェイルオーバー処理はトランザクションを引き継がない.autocommitモードで使えということらしい.
- 上で言うところのhost1が優先して接続され,Sticky.左に書かれている接続先からということ.右に行くほど待機系扱い.
ちなみに今日現在の最新版ver3.1.7およびスナップショット20050221版で確認しましたが,roundRobinLoadBalanceに関するバグがあります.一応修正パッチ案と共にバグ報告だしておきました.
http://bugs.mysql.com/bug.php?id=8643
さて,Mark Matthewsは何と言うか.