2017-10-20 4 views
1

REST呼び出しをカプセル化するhystrixコマンドがあります。障害(例えば、タイムアウト)が発生した場合、1回の再試行を行い、失敗した場合には適切なエラーを返す。hystrixで再試行する適切な方法

私が見る通り、Hystrixはリトライをサポートしていません。 Hystrixでそれを行う唯一の方法は、メインロジックをgetFallback()メソッドに入れることです。しかし、正しいとは思われません。

したがって、hystrixでタイムアウトを実装する適切な方法は何ですか?

答えて

2

Hystrix自体は、どのような種類のコマンドがラップされるのか気にせず、再試行の考え方をサポートしていません。 考え方の例:コマンド(REST要求をラップする)がパラメータ化されている場合、一部のリソースエンドポイントは再試行されなければならない場合があります。再試行を有効にするために、多かれ少なかれ同じような2つのコマンドも技術的なパラメータも持たないのはうれしいことではありません。 これにより、プロジェクトにいくらか複雑さが加わります。

この問題を回避してHystrixに固執するには、Springアプリケーションで作業している場合は、SpringRetryを参照してください。

もう1つの解決策は、です。これは、この文脈でHystrixとSpringRetryの組み合わせとして見ることができます。

関連する問題