Spring-boot-hystrix
スプリングブーツ-Hystrix
HystrixはNetflixのライブラリです。 Hystrixは、サービス間のアクセスポイントを分離し、サービス間の連鎖的な障害を停止し、フォールバックオプションを提供します。
たとえば、サードパーティのアプリケーションを呼び出している場合、応答を送信するのに時間がかかります。 そのため、その時点で、コントロールはフォールバックメソッドに進み、カスタム応答をアプリケーションに返します。
この章では、HystrixをSpring Bootアプリケーションに実装する方法について説明します。
まず、ビルド構成ファイルにSpring Cloud Starter Hystrix依存関係を追加する必要があります。
Mavenユーザーは、pom.xmlファイルに次の依存関係を追加できます-
Gradleユーザーは、build.gradleファイルに次の依存関係を追加できます-
次に、@ EnableHystrixアノテーションをメインのSpring Bootアプリケーションクラスファイルに追加します。 @EnableHystrixアノテーションは、Hystrix機能をSpring Bootアプリケーションで有効にするために使用されます。
メインのSpring Bootアプリケーションクラスファイルのコードは以下のとおりです-
ここで、要求された時間から3秒後に文字列を返すような単純なRest Controllerを作成します。
次に、REST APIに@Hystrixコマンドと@HystrixPropertyを追加し、ミリ秒値でタイムアウトを定義します。
次に、リクエストの応答に時間がかかる場合、フォールバックメソッドfallback_hello()を定義します。
REST APIとHystrixプロパティを含む完全なRest Controllerクラスファイルはここに示されています-
この例では、メインのSpring Bootアプリケーションクラスファイル自体に記述されたREST API。
完全なビルド構成ファイルを以下に示します。
- Maven – pom.xmlファイル*
次のMavenまたはGradleコマンドを使用して、実行可能なJARファイルを作成し、Spring Bootアプリケーションを実行できます-
Mavenの場合、次のようにコマンドを使用します-
「BUILD SUCCESS」の後、ターゲットディレクトリの下にJARファイルがあります。
Gradleの場合、次のようにコマンドを使用します-
「BUILD SUCCESSFUL」の後、build/libsディレクトリの下にJARファイルがあります。
次に、以下に示すコマンドを使用してJARファイルを実行します-
これは、以下に示すようにTomcatポート8080でアプリケーションを開始します-
ここで、WebブラウザからURL http://localhost:8080/ にアクセスし、Hystrixの応答を確認します。 APIの応答には3秒かかりますが、Hystrixタイムアウトは1秒です。