第2章 Fuse ブースターの使用
Red Hat Fuse では、Fuse アプリケーションや便利なコンポーネントを使用するために、以下のブースターが提供されます。
- 「サーキットブレーカーブースターのビルドと実行」 - ネットワーク接続の中断やバックエンドサービスの一時的な使用停止に対応するために分散アプリケーションを有効にする例。
- 「Externalized Configuration ブースターのビルドおよび実行」 - Apache Camel ルートの設定を外部化する方法の例。
- 「REST API ブースターのビルドおよび実行」 - HTTP プロトコルを使用して、Apache Camel によって公開されるリモートサービスと対話する仕組みを紹介する例。
ブースターのデモンストレーションをビルドおよび実行するための前提条件として、以下をインストールします。
- サポートされるバージョンの Java Developer Kit (JDK)。詳細は Red Hat Fuse でサポートされる設定 を参照してください。
- Apache Maven 3.3.x 以上。Maven の Download ページを参照してください。
2.1. ブースタープロジェクトの生成
Fuse ブースタープロジェクトは、スタンドアロンアプリケーションの実行を手助けする開発者向けのプロジェクトです。ここでは、ブースタープロジェクトの 1 つである Circuit Breaker ブースターの生成手順を説明します。この演習では、Fuse on Spring Boot の便利なコンポーネントを使用します。
Netflix/Hystrix サーキットブレーカーは、ネットワーク接続の中断や、バックエンドサービスの一時的な利用停止に分散アプリケーションが対応できるようにします。サーキットブレーカーパターンの基本概念は、バックエンドサービスが一時的に利用できなくなった場合に、依存するサービスの損失が自動的に検出され、代替動作をプログラムで作成できることです。
Fuse サーキットブローカーブースターは 2 つの関連サービスで設定されます。
-
呼び名を返すバックエンドサービスである
name
サービス。 -
名前を取得するよう
name
サービスを呼び出し、文字列Hello, NAME
を返すフロントエンドサービスであるgreetings
サービス。
このブースターデモンストレーションでは、Hystrix サーキットブレーカーは greetings
サービスと name
サービスとの間に挿入されます。バックエンドの name
サービスが利用できなくなると、name
サービスが再起動するまでの間に greetings
サービスはブロックされず、代替動作にフォールバックして即座にクライアントに応答します。
前提条件
- Red Hat Developer Platform にアクセスできる必要があります。
- サポートされるバージョンの Java Developer Kit (JDK) が必要です。詳細は Red Hat Fuse でサポートされる設定 を参照してください。
- Maven をローカルに設定 の手順に従って、Apache Maven 3.3.x 以降をインストールおよび設定している必要があります。
手順
- https://developers.redhat.com/launch に移動します。
START をクリックします。
ランチャーウィザードによって、Red Hat アカウントにログインするよう要求されます。
- Launcher ページで Deploy an Example Application ボタンをクリックします。
- Create Example Application ページで Create Example Application as フィールドに名前 fuse-circuit-breaker を入力します。
- Select an Example をクリックします。
Example ダイアログで、Circuit Breaker オプションを選択します。Select a Runtime ドロップダウンメニューが表示されます。
- Select a Runtime ドロップダウンメニューで Fuse を選択します。
-
バージョンのドロップダウンメニューで 7.11 (Red Hat Fuse) を選択します。
2.21.2 (Community)
バージョンは選択しないでください。 - Save をクリックします。
- Create Example Application ページで Download をクリックします。
-
Your Application is Ready ダイアログが表示されたら、
Download.zip
をクリックします。ブラウザーが生成されたブースタープロジェクト (ZIP ファイルとしてパッケージ) をダウンロードします。 - アーカイブユーティリティーを使用して、生成されたプロジェクトをローカルファイルシステムの任意の場所に展開します。