Spring Boot API で散発的に発生する 504 エラーの原因究明:ゲートウェイではなくコネクションプールの枯渇

事象の概要先週、注文検索 API で断続的に 504 エラーが発生するという障害対応を担当した。通常時の P95 レスポンスタイムは 80ms 程度なのに、毎日夜間のピーク時にだけ数十秒間続く 504 が出現し、その後自然に収束していた。システム構成は以下の通り:クライアント → Nginx → Spring Boot → MySQLNginx のタイムアウトは 30 秒に設定されており、アプリケーション層の ...

9月15日 03:39 投稿

HikariCPの接続タイムアウト問題に対する原因分析と解決策

HikariCPの接続タイムアウト問題に対する原因分析と解決策 Javaアプリケーションでデータベースとの通信を行う際に、HikariCPを使用した接続プールが「接続不可」というエラーを発生させることがあります。この記事では、そのような状況における問題の原因と対処方法について詳しく説明します。 エラーログの概要 [2025-10-12 14:35:12.888] ERROR 12345 --- [nio-8080 ...

8月4日 00:22 投稿

Javaにおける高パフォーマンスなオブジェクトプールライブラリと実装

Java開発において、高スループットかつ低レイテンシが求められる環境では、頻繁なオブジェクトの生成と破棄によるガベージコレクション(GC)の負荷を軽減するために、オブジェクトプールパターンが広く利用されています。本記事では、業界標準として採用されている主要なオブジェクトプールライブラリの特徴と、具体的な実装例について解説します。 1. 汎用的な高機能オ ...

6月18日 16:58 投稿

Spring環境における複数データベースのルーティング機構と実装パターン

分散型アーキテクチャにおけるデータベース接続のルーティング設計 単一のアプリケーションから複数のデータベースに接続する要件は、マルチテナントシステムやデータレイク連携において頻繁に発生します。Spring Frameworkは内部にAbstractRoutingDataSourceを提供しており、これを利用することで物理コネクションの取得タイミングでターゲットを動的に決定できます。以下 ...

5月12日 19:26 投稿