多くのアプリケーションは、回復力のために HTTP 呼び出しと JDBC 呼び出しの両方に接続プールを使用します。ただし、これら 2 種類のプールの使用と構成は大きく異なります。これにより、タイムアウト、再試行、キャッシング/アラート フォールバック、サーキット ブレーカー、監視など、両方に共通する回復力パターンを実装する複雑さが倍増します。
私の考えでは、 Hystrixは、HTTP 呼び出しと JDBC 呼び出しの両方に対して、これらと同じ回復力パターンを構成および実装するための共通のアプローチを提供します。
私の質問は次のとおりです。
- Hystrix は、理論的に既存の HTTP および JDBC 接続プールを完全に置き換えることができますか?
- もしそうなら、そうすることの長所と短所は何ですか?
それらを完全に置き換えると、これらの接続プールを取り巻く複雑さの世界が軽減されます-付随するタイムアウトや検証クエリプロパティなど.これらのタスクに特化した既存のライブラリに委譲します。
コンテキストとして、JDBC 接続プールに Tomcat DBCP を使用し、HTTP 接続プールに Apache HttpClient を使用する DropWizard アプリがあります。