ランブリング:吹かれているもの彼のガールフレンドに説明する方法?

忙しい最近、日中、夜に私がニュースに集中する時間がない、面接に持っていました。ただのガールフレンドは、携帯電話を保持し、面接の評価を書くために準備している、電話インタビューを終えたある夜、彼の顔の上に来て、当惑私に尋ねました:

で、「どのように説明するか、なぜ彼のガールフレンド二から一一は、配送先住所を変更することはできません我々はQPS、RT、約同時ユーザーと他のスレッドの最大数を導入することを知識に」。私たちは、要求の数の同時ソフトウェアシステムは、システム内のスレッドの最適な数を超えた場合、それも資源枯渇の欠如と、リソースのための熾烈な競争につながることを知って、システム全体が災害に直面することになります。

そのため、多くのソフトウェアシステムでも同時ユーザーの場合にはそれを確実にするために>するとき、全40,000 Webサイトの崩壊につながるものではないスレッドの最適数は、全身の災害を避けるために、いくつかのテクニックを使用します。これらの技術は、より一般的な電流制限、劣化および吹き出されます。

サービスは、マイクロ吹きサービスアーキテクチャでサービスをどうするか、どのようにについての何かを言うことに吹き付けられます。

なぜヒューズ

今では多くのウェブサイトでは、巨大な「後ろにされている分散型システム過半数の間の相互作用」、複数のシステムを「基づいているRPCので、発信者サービスの可用性は、実際に、」道が、それは長距離電話であるため、これは、制御可能ではありません。

下流のより広範なシステム、コールチェーンが長くなり、非常に長い呼び出しチェーンでは、何らかの理由で、一つのサービス、応答時間が非常に長い、または完全に応答しない場合、それのことができるようにすることができます全体の分散システムの崩壊。

コールチェーンの上に、それは上流のサービスに影響を与えるためにつながる可能性が応答が遅く、自分の原因による場合は、1つのサービスは非常に遅いもあるので、サイクルは、これは、ボード全体でシステム全体の崩壊につながるサービス雪崩

そのようなネットワークの問題、等のような、実際には、分散システムにおいて、全体的なサービスの可用性と整合性を確保するために、多くのシステムは、再試行メカニズムを導入される、いくつかのケースでは、実際に問題を解決する再試行することができ、によって再試行することができます解決しました。

しかし、いくつかのケースでは、問題とリトライを解決しないが、要求量が再生されたCPUで、その結果、大きすぎる下流システム理由など、問題を悪化させるに戻り、データベース接続のプールが、今回の上流側に充填されている前記システムは、下流のシステムへの二次的な損傷原因、不合理な再試行を調整し、下流のシステムは間違いなく悪化しているため、この要求を再試行していきます。

およびシステムを分散、ほとんどのサービスはコードレベルの再試行ロジックが存在してもよい、ユーザが存在してもよい、また、連続リトライによって生じる雪崩によるものであり、これは、自動再試行のフレームワークレベルであってもよいリトライ率先して、再試行してください。

再試行のいくつかは回避することはできませんが、雪崩を防止するため、機構設計を再試行するだけでなく、値しない場合は。

ヒューズモード

ヒューズモード(サーキットブレーカーパターン)は、現代のソフトウェア開発デザインパターンです。エラーと回避を検出するために同じエラーをトリガ絶えず(保守サービスが利用できないような、一時的なシステムの問題や不明なシステムエラー)。

突然データベースエラーが発生したときに、2つのアプリケーションがあると仮定すると、毎秒回のデータベースの何百と通信する、プログラマがエラーShihaiがデータベースにアクセスし続ける必要はありません。だから我々は、このエラーと直接取引してみてください、そして、プログラムの正常終了を入力します。簡単に言えば、

ヒューズはエラーを検出し、「予防」アプリケーションは、(セキュリティサービスは、接続を再試行する必要がある場合を除き)の呼び出しにほとんど応答サービスを再試行し続けます。

ヒューズモードは、マイクロクロニクルサービスシステムの雪崩の重要な手段です。

比較的音のヒューズは、一般的に3つの状態が含まれます:

  • 近いです

    • ヒューズ、一方、カウンタは、エラーが一定回数に発生回路ブレーカがなり、操作エラーが発生した「累積的」であろうたびにカウント機能を有するヒューズ自体を閉じデフォルトで提示されています「ON」、今回はタイムアップになると、それはセミオープン状態に切り替わり、タイマーの内部を可能にします。

  • オープン

    • すべての要求が開いた状態で「直接」のメッセージが拒否され、スローされます。

  • セミオープン

    • この状態では、回路ブレーカは、これらの要求が成功した場合、それはエラーが、それはオフスイッチバックしてカウントをリセットされますが、存在しないことを意味し、要求の一部を許可します。「いずれか」が発生し、要求に誤りがあった場合、それは状態、およびリタイミング、システムを管理する休憩時間「オン」に戻ります。

図は、スリーステート変換ヒューズです。

あなたはマイクロサービスシステム、ヒューズの導入のプロセスを呼び出した場合、システム全体が自然にできるようになります:

  • ラピッドフェール:あまりにも多くの障害ので、リモートサービスを呼び出す場合、オープンヒューズ、サービスへの下流のサービスコールに上流には上流のサービスの崩壊を避けるために、すぐに失敗します。

  • シームレスな回復:ヒューズは、定期的に下流のシステムの回復は、あなたが再び閉鎖状態に戻っ回復できるかどうかを確認することができますので、すべての要求は、下流のサービスへの通常のリクエストになります。だから、システムは、介入を検討する必要がないこと。

ヒューズツール

ヒューズあなたが実際に可能ヒューズを自分で実装する場合、サービスコールの統計情報、サービスコールのカットやその他の操作の数の必要性に迅速かつシームレスな回復の失敗を達成するために。

しかし、いくつかの市場の枠組みは、これらのことを行うために私たちを助けているがあります。Hystrixとセンチネルとして、resilience4jのような。

Hystrix

Hystrix(https://github.com/Netflix/Hystrix)オープンソースのネットフリックスは、プログラムの強力な耐障害性と堅牢性を持つ缶ヘルプユーザーヤードアウトそのフォールトトレラントシステムです。格下げ、ヒューズやその他の機能を提供します。

しかし、2018年の終わりに、自分のGitHubページでHystrixは、もはやオープンの新機能を発表していない、まだアクティブなオープンソースプロジェクト他の開発者を使用することをお勧めします

Hystrixもはや新しい機能を開発していないが、開発者は1.5.18 Hystrixの最新バージョンを使用し続けることができますので、ユーザーへの影響はあまり、最初にすべきではないが、

resilience4j

Hystrixより、Netflixの公式推奨resilience4j(https://github.com/resilience4j/resilience4j)を停止した後、それは使いやすい、高可用性フレームワークは、支持溶融、高周波制御、単離、制限されたに組み付けることができ、軽量であります流れ制限、リトライ、及び他の高可用性機構。

Hystrixと比較すると、それは次の主要な違いがあります。

  • あなたは、高可用性メカニズム簡単な方法を複数組み合わせることができますので、Hystrix HystrixCommandコールは、ネストされた関数インタフェースの装飾、などのラムダ式を提供するために、デコレータとresilience4j方法をカプセル化する必要があります

  • Hystrix統計スライディングウィンドウモードの使用頻度、およびリングバッファresilience4jの方法によって

  • 半開状態遷移のみ哺乳類を使用して一度実行ヒューズの状態について、状態遷移、及び実行回数resilience4jが状態遷移は、このようにヒューズ機構が向上するかどうかを決定するように構成することができる閾値と使用されているか否かを判定する安定

  • 検疫メカニズムについて、Hystrixは、スレッドプールとセマフォに基づいてアイソレーションを提供し、resilience4jはセマフォに基づいて絶縁を提供します

センチネル

センチネル(https://github.com/alibaba/Sentinel)アリミドルウェアチーム主に出発点としてフローにおいて、分散型サービスアーキテクチャのアセンブリオープンソース、軽量高可用性フロー制御で、フロー制御、ヒューズ格下げユーザーは、サービスの安定性を保護するために保護の次元でのシステム負荷。

Hystrixの焦点は、分離株とヒューズベースのフォールトトレランスにあるタイムアウトまたは吹きコールはすぐに失敗し、フォールバックメカニズムを提供することができます。

センティネルの焦点はオンになっています:

  • フロー制御の様々な

  • ヒューズダウングレード

  • システム負荷保護

  • リアルタイム監視とコンソール

図は、GitHubのとHystrixセンチネルのコントラストセンチネルのホーム・ページにあります。

知識を展開

ヒューズメカニズム

価格変動が特定の定義されたターゲット(ポイントを融合)、しばらくの間、その機構の取引の懸濁液に達したときに、株式市場の取引時間を指します。あまりにも多くの電流がその名の、非常に似ているヒューズにおけるヒューズとしてこのメ​​カニズム。

ヒューズメカニズム導入目的は、株価の大規模な衰退の現象の発生を防止するように、システミック・リスク、市場までの時間、より穏やかで、市場のボラティリティに回避パニックスプレッドリードを防ぐためです。しかし、また、資金の流れカットオフメカニズムを融合するので、それも増加し、市場のセンチメントになりますし、市場リスクは、ヒューズの終わりに拡大を続けています。

アメリカのヒューズメカニズム

ベンチマークS&P500指数、7%、13%、20%の単一のドロップしきい値の米国ヒューズ機構。指数は前日の終値レベルと比較して7%下落した場合にはインデックスは前日の終値水準、取引が停止され、同じ日に比べて20%下落した際に、国の株式市場の取引の13%は、15分間中断されます。2010ウォール街の株式は、ヒューズメカニズムを実装するために始めました。

ヒューズ機構が早期に1987などのように、類似しないようにするために、米国ではニューヨーク証券取引所が提案した「ブラックマンデー」株式市場の暴落が発生しました。この時点で、市場インデックスのための唯一のヒューズ溶断メカニズム。1997年10月27日は、ダウ工業株平均は7161.15ポイントで閉じるには、7.18%の下落、これはヒューズ機構が1988の導入後にトリガされる最初の時間です。

米国株式は、第2のヒューズ機構は2019コロナウイルス病の発生と原油価格の影響の崩壊により、EST 3月9日、2020年にあるトリガー3月9日に9:34で、S&P500指数は、開口ベルトリガ後7%減15分間の取引を停止する第一層のヒューズメカニズム。三日後、3月12日、スタンダード&プアーズ500種指数は再び第1層7%トリガ機構ヒューズの開放後に、より短い時間よりも下落しました。

中国本土のヒューズメカニズム

中国人民共和国2016年以来、上海証券取引所、深セン証券取引所や中国金融先物取引所同時にトライアルヒューズメカニズムで。これCSI 300ベンチマークを吹き込まれ、5%、7%閾値インデックスを融合する2つのステップを設定し、浮き沈みが吹き出されます。



おすすめ

転載: juejin.im/post/5e6f0fed6fb9a07ca1372ec5