問題タブ [hystrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Spring Cloud Netflix Hystrix Turbine が同じホスト上のサービスから情報を取得しない
Spring Cloud Netflix のガイドに従ってTurbine を構成しました。2 つのマイクロサービスで Hystrix を有効にした後、/hystrix.stream エンドポイントが正しい出力を生成することを確認しました。
hystrix ダッシュボード プロジェクトで、すべてのサービスの集計結果を取得するように Turbine を構成しました。しかし、私が得るのは次の連続です:
これは私の設定です:
HystrixDashboard + タービン アプリケーション:
HystrixDashboard + タービン application.yml:
アップデート
kreel の指示に従って、Turbine を次のように構成しました。
例外で失敗することはもうありません。ログを見ると、Turbine が 2 つの候補ホスト/マイクロサービスを見つけていることがわかります。
ただし、最終的に登録されるのはそのうちの 1 つだけです。ホストの 1 つだけが追加されます。これInstanceObservable.run()
は、ハッシュコードが同じであるため、newState.hostsUp に追加されたときに同じと見なされるためです。com.netflix.turbine.discovery.Instance
ハッシュコードは、ホスト名 (どちらの場合も「myhost」) とクラスター (「デフォルト」) に基づいて計算されます。
同じホストが 2 つの異なるマイクロサービスを提供している場合、どうすればよいでしょうか? この場合、最初のインスタンスのみが登録されます。
node.js - hystrix モジュールで request-promise-json エラーを処理できません
私はノードjsを初めて使用します。プロジェクトのノードjsにhystrixレジリエンスライブラリを実装する必要がありますが、ある時点で立ち往生しています。私が直面している問題は、サーバー アプリからエラー コード (4xx、5xx) を送信するたびに、promise を使用してそれらを処理できないことです。app.jsおよびserver.jsファイルのコードを貼り付けています。プロジェクトには他にもいくつかのファイルがありますが、それらはすべてのプロセスを開始するためのものですが、唯一の問題は app.js にあります。
app.js のisErrorHandlerメソッドで res,body が未定義にならないように、拒否された約束エラーを効率的に処理する方法を教えてください。
コンソールデータも追加します。
app.js
サーバー.js
コンソール出力:
私が間違っていなければ、問題は4xx、5xxエラーを返すリクエストを実行する約束を処理している間だけです..
java - ビジネス例外を含む Hystrix サーキット ブレーカー
Hystrix がコマンドから発生するすべての例外をサーキット ブレーカーの目的でエラーとして処理することを確認しました。これには、コマンド run () メソッドからスローされ、Hystrix 自体によって作成される例外 (HystrixTimeoutException など) が含まれます。
しかし、さらに処理する必要がある有効なエラーでサービスが応答したことを示す run() メソッドからスローされるビジネス例外があります。そのような例外の 1 つの例は、SpringWS から WebServiceTemplate を使用している間の WebServiceFaultException です。
したがって、回路をトリップするためにこれらの特定の例外は必要ありません。この動作はどのように達成できますか?
ビジネス例外をホルダー オブジェクトにラップし、それを run() メソッドから返し、ラップを解除して Exception に戻し、再スローする明白な方法があります。しかし、よりクリーンな方法があるかどうか疑問に思っていました。
java - hystrix のビルド中に問題が発生する
最初に私は次の問題を抱えていました:
ビルド エラー : ルート プロジェクト 'hystrix' の構成中に問題が発生しました。 > プロジェクト評価リスナーの通知に失敗しました。
JNA ネイティブ サポート (com/sun/jna/linux-ppc64le/libjnidispatch.so) がリソース パスに見つかりません。
jna.jar を /jre/lib/ext フォルダーに配置して、JNA ネイティブ サポート エラーを解決しました。
今、次のエラーが発生しました。
どなたか調べていただけないでしょうか。
ありがとう、
サラマニ
java - Hystrix で「sleepWindowInMilliseconds」プロパティを適用できません
こんにちは、サンプル プログラムで Hystrix パターンを使用しようとしています。次のバージョンを使用 com.netflix.hystrix:hystrix-core:1.4.21
上記のコードを実行すると、ノンストップで繰り返しフォローされます。
withCircuitBreakerErrorThresholdPercentage を 5% に設定し、withCircuitBreakerSleepWindowInMilliseconds を 60000 (1Minute) に設定したので、エラーをほとんど受信しないと、回路が開かれ、常に FALLBACK が返されるだけで、invokeService を呼び出そうとさえしないと思いました。したがって、「Inside invokeService」は 60 秒間出力されません。誰かがこれに光を当てることができますか、なぜ回路が開かれていないのですか?
java - Hystrix は、メソッドのパラメーターに応じて回路を開くことができますか?
次の Hystrix コマンドがあるとします。
呼び出し元:
「Looong」での通話がタイムアウトしたために Hystrix が回線を開いた場合、「Quick」での通話が に開かれるということですか?