問題タブ [netflix-zuul]

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 投票する
1 に答える
1464 参照

java - Netflix Zuul と Netflix Hystrix を組み合わせる

私は、Netflix のオープン ソース プロジェクトの大ファンです。彼らは本当にクールなものを作りました。

Zuul をセットアップしましたが、正常に動作しています。あらゆる種類のフィルタを作成し、それらを動的にロードして実行します。

私が今やろうとしているのは、フィルター内で Hystrix を使用することです。私が見ているのは、すべてがうまくいっていれば、すべてうまくいくということです。しかし、run() メソッド内で例外が発生すると、Hystrix ではなく Zuul が例外をキャッチします。したがって、 getFallback() は呼び出されません。

コードGithubを共有しました。

Hystrix が Zuul の代わりに例外をキャッチする方法を知っている人はいますか?

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

reverse-proxy - Zuul リバース プロキシ言語の理解

私は Zuul で遊んでいますが、私が理解していない基本的なものがあるようです。

ドキュメント ( http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html ) によると、次の Zuul 構成により、「/myusers」へのすべての http 呼び出しが「users」に転送されるようになります。 " サービス。

同様のシナリオがありますが、単に機能しません。私の構成は次のとおりです。

サービス ID は「stores」で、「/hello」という URL を持っています。私がヒットしたとき:

Spring Boot 404 エラー メッセージが表示されます。ただし、california を store に置き換えると、非常にうまく機能し、次の構成になります。

この場合、私が電話すると

物事はうまくいきます。したがって、URL のプレフィックスがサービスの ID と一致する必要があるように見えます。それは期待される動作ですか?私は何が欠けていますか?

Zuul 1.0.0.BUILD-SNAPSHOT を使用しています。余談ですが、発見クライアントが現在 Zuul に組み込まれていることに気付きました。Eureka を実行したくない場合に無効にする方法はありますか?

0 投票する
2 に答える
438 参照

spring-boot - Zuul-Server SNAPSHOT が壊れている可能性はありますか?

Spring Cloud スナップショット ビルドを使用する前に機能していたプロジェクトをビルドしています。Zuul Server 以外はすべて動作しているようです。次の例外が発生します。

これにより、次の依存関係が追加されました。

これにより、別の例外が発生します。

その時点で、POM へのパッチ適用をあきらめました。次に、GIT で Zuul プロジェクトのクローンを作成しました。残念ながら、私は同じ問題を抱えています。

考え?

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

java - spring-cloud zuul でサービスごとに異なる回線を使用する方法

spring-cloud-starter-zuul を使用しようとしています。私は Eureka をセットアップし、作成した単純なサービスを Eureka クライアントとして登録しました。2 つの異なるホストに 2 つの異なるアプリケーション名で 2 つのインスタンスを登録するので、これらは Eureka の 2 つの異なるサービスになります。私の目的は、serviceA のパフォーマンスが良く、serviceB のパフォーマンスが悪い場合に、serviceA へのプロキシが serviceB へのプロキシに失敗しても影響を受けないようにすることです。

ロード テスト serviceA を zuul を介して単独で実行すると、400 TPS のスループットを問題なく維持できます。次に、serviceB を投入して完全に過負荷にし、あちこちでタイムアウトさせると、serviceA が 400 で継続し、serviceB が失敗すると予想されますが、代わりに serviceA は 50 TPS 未満の成功率に低下し、次のように一連のエラーが発生します。良い。

RibbonRoutingFilter によって生成されたすべての RibbonCommands が hystrix で同じ回路を共有しているように見えますが、これは私には意味がありません。RibbonCommand を作成する RibbonRoutingFilter を見ると、別のものを使用するように構成する方法がわかりません。

RibbonRoutingFilter で:

restClient が serviceA と serviceB で異なることを確認したので、application.yml ファイルで指定した独自の接続プール構成を使用していますが、serviceA と serviceB の間のサービス品質にはまだ大量の相互汚染があります。サービスB.

「commandKey」を最初のパラメーターとして受け取るRibbonCommandの別のコンストラクターがあるようです。私が参照するコンストラクターは、「デフォルト」のcommandKey値を持つコンストラクターに単純に委任します。RibbonRoutingFilter でそれをオーバーライドするスイッチやオプションはありません。私にとって、これは spring-cloud プロジェクトから使用された場合、Zuul の実行可能性を著しく損なうものです。

各サービスが独自の回路を持つように、すぐに使用できるように構成する方法はありますか?

私のpomの該当部分:

アプリケーション.yml:

私のアプリケーションクラス:

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

spring-cloud - 1 つのサービスへの複数の Zuul ルート

私が目にするほとんどの例は、1 つのサービスに対する 1 つのルート定義です。

この種のこと:

複数のルートを 1 つのサービスにルーティングしたいので、実際には次のようになります。

これは構成ファイルでは許可されておらず、同じルート名を 2 回使用することも許可されていません。これを行う本当の方法はありますか?

0 投票する
7 に答える
30415 参照

java - Spring Cloud - Zuul Proxy が No 'Access-Control-Allow-Origin' ajax レスポンスを生成している

スタートアップ アプリケーション:

私のYAMLファイルは次のようなものです:

springapp と呼ばれるマイクロサービス アプリケーション (ポート 8081 上) があり、残りのサービスがいくつかあります。以下は私のクライアント UI アプリです。

しかし、私は

この UI HTML5 アプリはhttp://localhost:8383/SimpleAPp/index.htmlにあります。CORS、CORS、CORS...助けてください。ところで、http://localhost:8080/zuul/springapp/departmentsは、ブラウザのアドレスバーにあると想定されるjsonリストを返します。ここのspring.ioブログは、zuulproxyがそれを処理するため、フィルターは必要ないと言っていますが、なぜそれが機能しないのかわかりません。