SpringCloud(D)

分散システムが直面する問題

 アプリケーションサービス分散アーキテクチャは、多くの依存関係を持っているいくつかの時点での各依存性はCieux避けられない障害が発生します。

 

雪崩サービス

 マイクロマイクロサービスサービスAは、BとCサービスマイクロ、マイクロマイクロサービスB及びCサービスコール「ファンアウト」と呼ばれる他のマイクロサービスを呼び出すと仮定し、複数の微小時間の間にサービスコール、もしファンアウト呼び出しマイクロサービスの応答時間が長すぎるか、リンクはマイクロサービスへの呼び出しは、それによってクラッシュにシステムを引き起こし、より多くのシステムリソースを取る、いわゆる利用できない「なだれ効果。」

 高トラフィックの場合、単一のバックエンド依存性は数秒で飽和されているすべてのサーバー上のすべてのリソースにつながる可能性があります。さらに悪いことに失敗するよりも、これらのアプリケーションは、システム全体の障害や遅延の必要性を表明しているより多くのカスケード接続の失敗を、その結果、サービスが増加し、バックアップリスト、スレッド、および他の神経系リソース間の遅延を引き起こす可能性があり単離および管理は、そう単一障害依存関係ことが、全体のアプリケーションやシステムをキャンセルすることはできません。

 

Hystrixは何ですか

 Hystrixが遅延とフォールトトレラントオープンソースライブラリ、分散システムを処理するための分散型システムで、多くの缶は、残業などの失敗コールの壁に依存しない、異常な、Hystrixは、依存関係の問題の場合に保証することができ、これは、弾力性の分散システムを提供するために、カスケードの失敗を避けるために、失敗する総合的なサービスにはなりません。

 「ブレーカ」は、スイッチング装置自体、サービスユニットが故障した場合、回路(ヒューズに類似)ブレーカ、障害監視であることを意図したサービスの呼び出し元に戻るが、代替的な応答(フォールバック)処理することができます代わりに、長い間、不必要な職業ではありませんサービススレッドへの発信者を確保するよう、長い時間を待っているかの方法で処理することはできません呼び出す例外をスローするので、分散システムにおける障害の広がりを避けるために、そして、さえ雪崩。 

 

Hystrix何を行うことができますか?

  • サービスのダウングレード  
    • 戦略的に格下げに基づいたページやサービスの一部にすると、サーバーの圧力サージ、現在のビジネスの状況や交通、コアタスクが正常にことを確認するために、サーバーのリソースを解放するためです。
  • サービスヒューズ
    • 一般的には、保護措置を利用し、システム全体の障害、また、過負荷保護として知られているヒューズに非常に多くの場所を防ぐために、過負荷の現象のサービス出現を作る何らかの理由で、ソフトウェアシステムを指します。多くの場合、システムは、ローカル、小規模な障害の出現のほんの始まりかもしれないが、様々な理由のために、最終的に失敗につながることは、ますますグローバルの結果に影響を与えます。
    • 使用シナリオ:どのような直接呼び出さ失敗リモートサービスコールのアプリケーションまたは共有リソースを阻止する可能性があります。
  • サービスを制限
  • 近くリアルタイム監視
  • ...

Hystrix内部ロジック

 

サービスヒューズ

 マシンは、アバランシェ効果に対応するマイクロヒューズ保護機構サービスリンクです。

 ファンアウトマイクロリンクサービスが利用できないか、応答時間が長すぎる、それがサービスをダウングレードされたとき、およびその後吹きコールマイクロノードサービス、高速応答がエラーメッセージを返します。マイクロサテライトサービスコールの応答コールを検出すると、通常のリンクを再開します。Hystrix機構を融合させることによりSpringCloudの枠組みの中で実施しました。Hystrixはマイクロサービスコールの間に状況を監視します。特定のしきい値に到達するために失敗したコールは、デフォルトの場合は通話がメカニズムヒューズ5Sが始まる以内に20回失敗します。ノートヒューズメカニズムは@HystrixCommandです。

 

その他のリファレンス:https://blog.csdn.net/Michaelwubo/article/details/81357349 https://blog.csdn.net/Michaelwubo/article/details/81357349

おすすめ

転載: www.cnblogs.com/DejaVu-F/p/12151846.html