スプリングブートサーキットブレーカーvs Retry
この記事では、スプリングブートのサーキットブレーカーと再試行メカニズムの違いを調査し、それぞれを使用する時期と最適なアプリケーションの回復力のために両方を実装する方法を提供します。信頼できない可能性のある外部サービスまたはリソースと対話する人。 しかし、それらは断層トレランスのさまざまな側面に対処しています。aは、故障したバックオフを使用して、故障したサービスを圧倒することを避けるために、故障した操作を一定数に再実行しようとするだけです。 これは、一時的なネットワークグリッチや過負荷のサーバーなど、一時的な障害を処理するための簡単なアプローチです。 レトリは、障害が一時的であり、まもなく解決する可能性が高い場合に効果的です。
a回路ブレーカーは、一方、安全スイッチとして機能します。 一定の数の連続した障害の後、回路を「開く」ため、指定された期間にわたって操作を実行しようとするさらなる試みが妨げられます。 これにより、アプリケーションが成功する可能性が低い失敗操作を継続的に再試行することを防ぎ、それによりリソースを無駄にし、問題を悪化させる可能性があります。 サーキットブレーカーのタイムアウトの有効期限が切れると、「半分のオープン」状態に移行し、1回の試行が可能になります。この試みが成功した場合、回路は閉じます。それ以外の場合は、
回路ブレーカーと再試行メカニズムの間の重要な違い持続的な障害に直面した場合、コアの違いは動作にあります:
レトリス:
最大レトリの試みが疲れ果てるまで、操作を試み続けます。 基礎となるサービスが永続的にダウンしている場合、これはリソースの疲労につながる可能性があります。次の場合、再試行メカニズムを選択します。 low。
以上がスプリングブートサーキットブレーカーと再試行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。