次にCircuit Breakerの導入して、障害の伝播を防ぎます。
本ページで作成するソースコードはこちら(04-circuit-breakerブランチ)から参照可能です。
recommendationsのpom.xmlをこの内容に変更recommendationsのsrc/main/java/com/metflix/RecommendationsApplication.javaをこの内容に変更
recommendationsとuiを再起動。
次にmembershipサービスを停止。
再度、http://localhost:8080にアクセスし、Recommendationsの結果が変わっていることを確認。
membershipサービスを起動。
しばらくしてhttp://localhost:8080にアクセスすると復旧していることを確認
同様にrecommendationsサービスを停止させると、Recommendationsの結果が空になっていることを確認。
動作を確認したらrecommendationsサービスを起動。
http://localhost:3333/hystrix.streamにアクセス。メトリクスのイベントストリームが流れてくることを確認。
-
- Cloud Circuit Breaker ->
Hystrix Dashboard
- Cloud Circuit Breaker ->
-
src/main/java/com/metflix/HystrixDashboardApplication.javaをこの内容に変更 -
src/main/resources/application.propertiesを削除 -
src/main/resourcesを右クリック -> New -> File -
File name:
bootstrap.properties -
src/main/resources/bootstrap.propertiesをこの内容に変更
Package ExplorerのHystrixDashboardApplication.javaを右クリック -> Run As -> Spring Boot App
コンソールを確認
http://localhost:7979/hystrixにアクセス
http://localhost:3333/hystrix.streamを入力してMonitor Streamをクリック。
http://localhost:4444/hystrix.streamも同様
Tips
複数のストリームを集約するには別途Turbineの設定が必要です。 また、PaaSのようにスケーアウトした各インスタンスへのURLが同一な場合は
/hystrix.streamにアクセスしてメトリクスをpullするのではなく、AMQPを使ってpushする必要があります。この場合は、別途Turbine AMQPの設定が必要です。
















