問題タブ [spring-cloud-loadbalancer]

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

spring-boot - サービスに使用できるサーバーがありません: Netflix リボンでルーティング中

私はSpring Boot 2.3.4で以下の作業コードを持っていました

構成:

スプリング ブート バージョンを 2.4.2 にアップグレードすると、コードを以下に変更する必要があります。

spring boot 2.4.2 で netflix-ribbon が削除されたため、これらの依存関係を追加する必要がありました。ルーティングでは、以下の警告が表示されます。ロードバランサーが初期化されていないことを意味します。

この問題を解決するには? これをスプリングロードバランサーに移行しようとする代替手段はありますか?

アップグレード後の依存関係ツリー:

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

spring - Spring クラウド ロードバランサーのデフォルトの RoundRobin アルゴリズムを変更する

リボンが現在メンテナンス モードになっているため、リボンから Spring Cloud LoadBalancer に移行しようとしています。デフォルトの spring-boot 2.4.2 バージョンを使用して、Spring 初期化でリボン依存関係を追加できません。私は現在 OpenFeign を使用しており、デフォルトの RoundRobin Load Balancer 構成を Random Rule に変更しようとするテストを行っています。これは私が持っているものです

リボンを使用する場合、デフォルトの構成を変更する必要がありました

クライアントにアノテーション @RibbonClient を追加します (MainApplication クラスに追加しても機能します)。

しかし、spring-cloud-loadbalancer を使用して機能させることはできません。spring-cloud-starter-openfeign 依存関係にデフォルトで含まれていることを知っているので、私の pom は次のようになります

pom.xml

FeignClients をこのようにする (リボン注釈なし)

そして、私のRestControllerはこのように

他に何もしなくても、ロード バランシングが機能しているように見えます (実行中の hello サービスの 2 つのインスタンスがまだ機能しており、代替を呼び出しています)。違いをテストします。FeignConfiguration クラスで何かを変更する必要があると思いますが、検索しても成功しませんでした。

リボンを取り除き、問題なく Spring Cloud LoadBalancer を使い始めることができるように、私を助けてくれることを願っています! :C