2017-11-10 11 views
0

requestVolumeThresholdが明示的に設定されていない場合はどうなりますか?最初のリクエスト自体がエラーだった場合、すぐに私のフォールバックメソッドを呼び出していますか?フォールバックメソッドが21番目のリクエスト(デフォルトのrequestVolumeThreshold = 20、errorThresholdPercentage = 50%、metrics.rollingStats.timeInMilliseconds)で呼び出されますか?hystrix最初のリクエストエラーフォールバック

答えて

1

フォールバックの状態と回路の状態を区別する必要があります。

  • 回路オープン
  • セマフォ/スレッドプール拒否
  • 実行が失敗し、あなたの回路ブレーカのは、以下の条件の下で呼び出されるフォールバック方法は、(例外は、あなたの方法はHystrixBadRequestExceptionを除外して投げ)
  • タイムアウト(ヒストリタイムアウト)

ご覧のとおり、回線オープンは、フォールバック方式を実行するための1つの条件に過ぎません。

質問で書き込んだプロパティは回線オープンに関連しており、フォールバック実行の決定には直接関係しません。

結果として、最初のリクエストのフォールバック実行は例外とタイムアウトによって決定されます。この時点では、回路が閉じた状態であり、スレッドプール(またはセマフォ)が空であるためです。

+0

はい。フォールバックのコンセプトを誤解しています。ありがとうございました – RamaLakshmi

関連する問題