問題タブ [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.

0 投票する
3 に答える
1921 参照

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 つの異なるマイクロサービスを提供している場合、どうすればよいでしょうか? この場合、最初のインスタンスのみが登録されます。

0 投票する
1 に答える
554 参照

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エラーを返すリクエストを実行する約束を処理している間だけです..

0 投票する
1 に答える
3945 参照

java - ビジネス例外を含む Hystrix サーキット ブレーカー

Hystrix がコマンドから発生するすべての例外をサーキット ブレーカーの目的でエラーとして処理することを確認しました。これには、コマンド run () メソッドからスローされ、Hystrix 自体によって作成される例外 (HystrixTimeoutException など) が含まれます。

しかし、さらに処理する必要がある有効なエラーでサービスが応答したことを示す run() メソッドからスローされるビジネス例外があります。そのような例外の 1 つの例は、SpringWS から WebServiceTemplate を使用している間の WebServiceFaultException です。

したがって、回路をトリップするためにこれらの特定の例外は必要ありません。この動作はどのように達成できますか?

ビジネス例外をホルダー オブジェクトにラップし、それを run() メソッドから返し、ラップを解除して Exception に戻し、再スローする明白な方法があります。しかし、よりクリーンな方法があるかどうか疑問に思っていました。

0 投票する
0 に答える
159 参照

java - hystrix のビルド中に問題が発生する

最初に私は次の問題を抱えていました:

ビルド エラー : ルート プロジェクト 'hystrix' の構成中に問題が発生しました。 > プロジェクト評価リスナーの通知に失敗しました。

JNA ネイティブ サポート (com/sun/jna/linux-ppc64le/libjnidispatch.so) がリソース パスに見つかりません。

jna.jar を /jre/lib/ext フォルダーに配置して、JNA ネイティブ サポート エラーを解決しました。

今、次のエラーが発生しました。

どなたか調べていただけないでしょうか。

ありがとう、
サラマニ

0 投票する
1 に答える
484 参照

java - Hystrix で「sleepWindowInMilliseconds」プロパティを適用できません

こんにちは、サンプル プログラムで Hystrix パターンを使用しようとしています。次のバージョンを使用 com.netflix.hystrix:hystrix-core:1.4.21

上記のコードを実行すると、ノンストップで繰り返しフォローされます。

withCircuitBreakerErrorThresholdPercentage を 5% に設定し、withCircuitBreakerSleepWindowInMilliseconds を 60000 (1Minute) に設定したので、エラーをほとんど受信しないと、回路が開かれ、常に FALLBACK が返されるだけで、invokeService を呼び出そうとさえしないと思いました。したがって、「Inside invokeService」は 60 秒間出力されません。誰かがこれに光を当てることができますか、なぜ回路が開かれていないのですか?

0 投票する
1 に答える
1028 参照

java - Hystrix は、メソッドのパラメーターに応じて回路を開くことができますか?

次の Hystrix コマンドがあるとします。

呼び出し元:

「Looong」での通話がタイムアウトしたために Hystrix が回線を開いた場合、「Quick」での通話が に開かれるということですか?