ロードバランサーは、少なくとも次の機能を提供します:
各サーバーの IP およびその他の情報を維持する
特定のロジックに基づいてサーバーを選択する
基本的な負荷分散機能を実現するために、Ribbon の負荷分散 サーバーには 3 つの主要なサブモジュールがあります:
Rule
Ping
ServerList
Ribbon Spring Cloud で使用する場合、構成は 2 つの方法で行うことができます。1 つは Java 構成、もう 1 つは Java 構成です。もう 1 つは設定ファイルの設定です。
Javaによる設定:
package com.hurricane.learn.springcloud.ribbon; import org.springframework.cloud.netflix.ribbon.RibbonClient; import org.springframework.context.annotation.Bean; @RibbonClient(name="user-service-provider",configuration=MyConfig.class) public class MyConfig { @Bean public MyRule createMyRule() { return new MyRule(); } }
設定ファイルの設定:
#自定义规则的使用 user-service-provider.ribbon.NFLoadBalancerRuleClassName=com.hurricane.learn.springcloud.ribbon.MyRule
サービス呼び出しの落とし穴:
サービス間の呼び出しをテストすると、呼び出しが失敗しました。プロンプト:
Request URI does not contain a valid hostname: http://user_service_provider/getUser
最終的に、それが原因であることが判明しましたサービス インスタンスの名前にはアンダースコアを含めることはできません。インスタンス名を aaa に変更することでアクセスできるようになります。
以上がSpring Cloud アプリケーションでのリボンの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。