問題タブ [netflix-ribbon]

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 に答える
1681 参照

spring-cloud - Spring Cloud: リボンと Feign Client を使用したサーバー インスタンスが見つからない (Eureka は除く)

@FeignClient単純な REST クライアント テスト アプリケーションで初めて使用しようとしています。2 つのサーバー インスタンス間の負荷分散にリボンを使用したいのですが、Eureka は使用しません。ドキュメントに従って、プロパティを使用して構成application.ymlし、 listOfServersEureka を無効にしました。私のクライアントは、プロパティの YAML プレフィックスと同じ名前で命名されていribbonます。

application.yml:

クライアントコード:

listOfServersアプリケーションを起動すると、リボンによってピックアップされていることがわかります。

ただし、クライアントはサーバー接頭辞なしでアノテーションの値のみを使用して呼び出しを行い@RequestMapping、明らかに失敗します。

各サーバーに順番に注入することを期待していたhttp:{server instance}/context-path/customersので ( )、明らかにここで何かを見逃しています。

誰でも私を正しい方向に向けることができますか?

ありがとう、

ロブ。

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

netflix-zuul - Spring cloud zuul で回線の接続統計を取得する

エッジ ルーターとして機能し、@EnableZuulProxy アノテーションを持ついくつかのマイクロ サービス インスタンスを実行しています。いくつかのフィルターを作成しましたが、これらはシステムへの要求の流れを制御します。

私がやりたいことは、カバーの下で何が起こっているかからサーキットの統計を取得することです. 私が見たいいくつかのstsを持つ、基礎となるnetflixクラスDynamicServerListLoadBalancerがあることがわかりました。それのインスタンスを取得し、特定の時間にそれから統計を取得することは可能ですか>

次のようなものが含まれていることがわかります:(ログで見たログステートメントをフォーマットしました)

これらはすべて、入手して行動する価値があります。ほとんどの場合、その行為は使用法ヒューリスティックをシステムにフィードバックすることです。

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

spring-cloud - Spring Cloud Sidecar のロード バランシングが失敗時に再試行しない

私は次の設定をしています:

  • Spring Cloud Eureka Server (Spring Boot アプリと@EnableEurekaServer)
  • Spring Cloud サイドカー (で実行:8080)
  • 同じ Spring Boot アプリの 2 つのインスタンスが Eureka に対して適切に登録され ( @EnableEurekaClient)、単一のGET /configurationsエンドポイントを公開します ( および で実行されます:8081) :8082

これらはすべて Java 8 + Spring Cloud 1.1.0.M5 で実行されます。

Sidecar を介した REST エンドポイントの呼び出しは:8080正常に機能し、要求は適切に負荷分散され、応答はクライアント側で正しくなります。2 つのアプリ インスタンスのいずれかをシャットダウンし、エンドポイントを再度呼び出すと、クライアントは次のエラーを受け取ります。

サイドカー ログには次のように表示されます。

興味深いことに、接続拒否エラーが検出され ( Stale connection detected)、他のインスタンスへの呼び出しが行われたように見えますが (着信要求が表示されます)、結果は依然としてエラーです。再試行呼び出しからの応答がクライアントに返されることを期待します。

これはマイルストーンのバグですか、それともこれを機能させるための構成が不足していますか?

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

java - zuul + リボンの設定に助けが必要

Zuul を使用して Spring Boot を介してリボン (負荷分散) を構成するのに助けが必要です。以下に私の設定があります。

最初に、現在のアーキテクチャと到達したいものを共有します。

  • ゲートウェイを備えたノードが 1 つあります (Spring Boot + zuul + リボン)
  • スケーラブルなサービスを展開する別のノードが 2 つあります

ズール構成:

あなたが見る限り、特別なことは何もありません。私のスケーラブルなサービスには次の構成があります。

私が理解している限り、それはかなり一般的な構成です。

http://11.11.111.125:8092/outletsまたはに直接リクエストするとhttp://11.11.111.126:8093/outlets、すべて正常に機能します。

しかし、ゲートウェイにリクエストを送信すると、404 が返されます。ログに表示される内容は次のとおりです。

私が見る限り、サービスへのリクエストにはパス/アウトレットが含まれていません。または、リボン クライアントの構成が間違っている可能性がありますか?

そして、私はそれを修正する方法を知りません。

誰でも私を助けてもらえますか?

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

spring-cloud - 春の雲 + リボン + フェイン + ズール + エウレカ

リボンを介してマイクロ サービスの負荷を分散する方法 (偽りではありません)。「M1」、「M2」、「M2_duplication」の 3 つのマイクロ サービスがあり、「M1」は偽装を介して「M2」と通信しています。「M2」のトラフィックが多すぎる場合、リクエストは「M2_duplication」に転送されます。@ribbonclient を介してこれはどのように可能ですか?

POM M1:

M1 での偽の呼び出し:

アプリケーション M1:

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

spring-cloud - 春の雲、zuul プロキシ、および eureka のないリボンのヘルスチェックの問題

マイクロサービスの複数のインスタンスで動作するように zuul プロキシを構成しました。私が行った唯一のことは、ribbon.listOfServers キーワードを構成に追加することです。

ラウンド ロビン ポリシーで問題なく動作しています。

しかし、マイクロサービス インスタンス リボンの 1 つをシャットダウンしても、そのインスタンスに要求が送信され、クライアントにエラーが返されます。

ZuulProxy 内で healthCheck 機能を有効にするにはどうすればよいですか?

私の zuul 構成を以下に示します。

私の Main Spring クラスには、次の注釈があります。

そして、私は以下の例外を取得しています:

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

java - サービス レジストリと外部サービス

カスタム アプリケーションでは、サービス レジストリとリボンを使用して、RestTemplate. 外部サービスと同じにしたいと思います。たとえば、エラスティック検索ノードとしましょう。eureka から作業ノードを取得し、RestTemplateこの情報を使用してフェイルオーバーを行う が必要です。どうやってやるの?または、別の方法で同じことを達成することは可能ですか?