概要
この記事で伝えたい事は、Java アプリケーションから Aurora (MySQL) に接続する時は、MySQL Connector/J では無く、MariaDB Connector/J を使え、という事
Connector/J とは
Java から MySQL に接続するには、JDBC ドライバを使用する必要がある
※JDBC とは、Java から リレーショナルデータベース (RDBMS) にアクセスする為の標準 API
MySQL に接続する際は、Connector/J 呼ばれる JDBC ドライバを利用する
ここでは MySQL が作成したものを MySQL Connector/J、MySQL から派生した MariaDB が作成したものを MariaDB Connector/J と呼ぶ
どちらでも Aurora (MySQL) で利用する事は可能だったが・・・
Aurora (MySQL) には MariaDB Connector/J を選択すべき
先に結論を出すと、Aurora のフェールオーバーに対応しているので、選ぶなら MariaDB Connector/J だった
どうやら、Writer、Reader すべてのインスタンスにコネクションを張り、innodb_read_only が Off = master と判別する
その後は、クラスターエンドポイントより信頼できる replica_host_status を確認するみたい
※これを参照
なお、公式サイトには、対応するバージョンの記載があった
Driver Version | Java Version |
---|---|
2.X | Java 9, Java 8 |
> 1.6.1 - < 2 | Java 9, Java 8, Java 7, Java 6 |
1.2 - 1.6.1 | Java 8, Java 7 |
1.1 | Java 8, java 7, Java 6 |
実際に試してみた
MySQL Connector/J の場合は、コネクションが 0 となっている
MariaDB Connctor/J の場合は、Writer、Reader ともにコネクションが張られている状態となる
仲間募集中
弊社ではエンジニアを募集中です。インフラからアプリ、ユーザサポートまで幅広く業務を行ってます。
https://www.nittsu-infosys.com/recruit/2019/index.html