プライマリコマンドが失敗した場合、自動的にHystrixを使用してセカンダリの実装に戻したいと思っています。これはちょっとうまくいく。hystrixで回路を手動で閉じる方法
しかし、一度プライマリコマンドが失敗し、セカンダリコマンドを使用してリクエストを処理すると、プライマリコマンドに自動的に戻る必要はありません。
私は、手動の「スイッチバック」をプライマリコマンドにしたい(これはビジネス上の必要があるためです)。
私はHystrixCommandExecutionHook
を実装しようとしましたが、これは外部にしかリセットできない状態エンジンで動作します。 PrimaryCommandに障害が発生すると、StateEngineは「回線を開く」に切り替わります。一次コマンドを再度実行しようとすると、State-EngineはonExecutionStart
フックでチェックされ、カスタムRuntimeException
が発生する可能性があります。
これはうまくいきますが、お客様が一度プライマリコマンドに戻すことを決定すると、次の実行がプライマリコマンドに戻ろうとする保証がないため、一部のコマンドがセカンダリとして実行される可能性がありますHystrixのコマンド。
TL; DR
、それが再び閉鎖される方法上の任意の自動「魔法」のないオープンになると、単に手動で回路を開閉する可能性がありませんか?