479 Views
March 28, 25
スライド概要
2025年3月28日開催の「Java/Kotlinで実現する大規模サービスの裏側」で使用した資料です。
ウェルスナビ株式会社 技術広報チームの公式アカウントです。
AWS Advanced JDBC Wrapperを 導⼊した話 ⼤⾕ 幹仁 出前館 x ウェルスナビ Tech Talk 1
⾃⼰紹介 大谷 幹仁(Otani Mikihito) ウェルスナビ株式会社 SWEチーム / バックエンドエンジニア ウェルスナビでは ● 2024年4⽉ 新卒⼊社 ● Aurora MySQLのアップグレード対応プロジェクトに参画 ひとこと ● ⼈⽣初登壇です 2 @2024 WealthNavi Inc.
アジェンダ 1. 導⼊の背景 2. AWS Advanced JDBC Wrapperとは 3. 導⼊例 4. 導⼊時に困ったこと 5. さいごに 3 @2024 WealthNavi Inc.
1. 導⼊の背景 2. AWS Advanced JDBC Wrapperとは 3. 導⼊例 4. 導⼊時に困ったこと 5. さいごに 4 @2024 WealthNavi Inc.
導⼊の背景 Aurora MySQLのバージョンアップ対応時に、よりAuroraと相性の良いJDBCドライバー の利⽤を検討した 候補となったドライバー MySQL Connector J x AWS Advanced JDBC Wrapper MySQL Connector J MySQL Connector J x AWS MySQL JDBC MySQL Connector Java 5 @2024 WealthNavi Inc.
導⼊の背景 フェイルオーバー時のダウンタイムを短くするため W R クラスター エンドポイント クラスター エンドポイント R 読み取り専用 エンドポイント 3~10秒ほど W 読み取り専用 エンドポイント R R @2024 WealthNavi Inc.
1. 導⼊の背景 2. AWS Advanced JDBC Wrapperとは 3. 導⼊例 4. 導⼊時に困ったこと 5. さいごに 7 @2024 WealthNavi Inc.
AWS Advanced JDBC Wrapperとは AWSが開発したフェイルオーバーが 早くできるJDBCドライバー 8 @2024 WealthNavi Inc.
1. 導⼊の背景 2. AWS Advanced JDBC Wrapperとは 3. 導⼊例 4. 導⼊時に困ったこと 5. さいごに 9 @2024 WealthNavi Inc.
導⼊例 ● ● 10 AWS Advanced JDBC Wrapper ○ 2025/03/27 現在最新は2.5.5 ○ ○ MySQLのJDBCドライバーは必須 Aurora MySQL2(MySQL 5.7互換)とAurora MySQL3(MySQL 8.0互換)の両⽅に対応している MySQL Connector J: 8.0.33 @2024 WealthNavi Inc.
1. 導⼊の背景 2. AWS Advanced JDBC Wrapperとは 3. 導⼊例 4. 導⼊時に困ったこと 5. さいごに 11 @2024 WealthNavi Inc.
導⼊時に困ったこと ● ● ⽇本語のドキュメントが少ない! Spring Boot 1系の記事がない! GitHub: https://github.com/aws/aws-advanced-jdbc-wrapper/tree/2.3.9 12 @2024 WealthNavi Inc.
導⼊時に困ったこと Tomcat のドキュメントを読んで実際に動かしてみる GitHub: https://github.com/apache/tomcat/tree/8.5.x 13 @2024 WealthNavi Inc.
導⼊時に困ったこと ● ステージング環境でフェイルオーバーの挙動検証中にDBへ接続できなくなった ○ 原因はフェイルオーバーを⾏いすぎてしまいインスタンスが破損 14 @2024 WealthNavi Inc.
導⼊時に困ったこと 他にも... ● ReadOnly クラスターエンドポイントを指定した際にfailoverモードが reader-or-writerに⾃動で設定されない(バージョン2.5.3で修正*¹) → 設定ファイルにフェイルオーバーモードの設定を書く ● リリース直前に導⼊バージョンのバグを認知(バージョン2.5.0で修正*²) → 影響範囲が限定的だったため、リリース後にバージョンアップで対応 *¹ https://github.com/aws/aws-advanced-jdbc-wrapper/pull/1204 *² https://github.com/aws/aws-advanced-jdbc-wrapper/pull/1130 15 @2024 WealthNavi Inc.
1. 導⼊の背景 2. AWS Advanced JDBC Wrapperとは 3. 導⼊例 4. 導⼊時に困ったこと 5. さいごに 16 @2024 WealthNavi Inc.
さいごに JJUG CCC 2025 Springに登壇します! 17 @2024 WealthNavi Inc.
【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 18 @2024 WealthNavi Inc.
ご清聴ありがとうございました 19 @2024 WealthNavi Inc.