SpringCloudエントリー2 ---ユーレカ(サービス発見コンポーネント)
SpringCloudを装う(サービスコール成分)--- 3はじめに
SpringCloudエントリ4 --- Hystrix(ヒューズアセンブリ)
SpringCloudエントリ-5 --- Zuul(サービングゲートウェイ)
タイトルIVは、我々はHystrixの右SpringCloud(ヒューズアセンブリ)の簡単な説明を行います。
1.なぜヒューズを使用します
ここでは、最初にあるかを理解しなければならないサービスのアバランシェ効果?マイクロサービスアーキテクチャでは通常、カスケード接続の障害につながる可能性がある複数のサービス層の呼び出し、基本的なサービスの障害を持って、システム全体が使用できない原因、現象がアバランシェ効果サービスと呼ばれます。サービスなだれ効果「は、サービス消費者が」利用可能と利用できないではありません徐々にプロセスを大きく使用できない「サービスプロバイダ」の結果です。
それは下に示されている場合:サービスプロバイダAのように、Bは、サービスコンシューマAであり、C及びDはBサービスコンシューマです。使用不可使用不可Bによる、拡大雪だるま式C及びDに利用可能でない、アバランシェ効果が形成されます。
どのようにこのアバランシェ効果、それを避けるために?私たちは、ヒューズを実現することがHystrixを使用することができます。
2、Hystrixプロフィール
Hystrix [hɪst'rɪks]中国の意味ヤマアラシは、その背中にはとげで覆われ、そして自分自身を保護する能力を持っています。
Hystrixは、より優雅に、フォールバックメカニズムが失敗した応答の失敗を提供しながら、カスケード障害を防止するために、サービス、サービスに依存している分離システムにより、故障の時代に、あなたのシステムに依存するサービスを作成し、より迅速に、あなたのシステムを作ります例外からの回復。
ヒューズモードは下記を参照学習:
4、Hystrix統合
自身がHystrixをサポート装う、追加の依存を導入する必要はありません。
(1)tensquare_qaモジュールapplication.yml、オープンhystrix修飾しました
feign:
hystrix:
enabled: true
(2)com.test.client IMPLパッケージでパケットを作成し、インターフェイスからパッケージ作成のヒューズ実装クラスは、LabelClientを実現します
@Component
public class TestClientImpl implements TestClient {
@Override
public Result findById(String id) {
return new Result(false, StatusCode.ERROR,"熔断器启动了");
}
}
(3)TestClientコメントを修正
@FeignClient(value="test‐base",fallback = TestClientImpl.class)
(4)試運転
再起動のマイクロサービス、ヒューズスタートかどうかを確認するためのテスト、郵便配達のテストに戻り、コンテンツ結果(偽、StatusCode.ERROR、「ヒューズが開始」)を融合。
これまでのところ、ヒューズはHystrixは、単に、完成導入された回路全体の崩壊を防ぐために、家電のゲートを融合する同様の雪崩サーバーの出現を防止するために、回路ブレーカが破損しています。