ホームページ  >  記事  >  Java  >  Spring Cloud アプリケーションでのリボンの使用法

Spring Cloud アプリケーションでのリボンの使用法

无忌哥哥
无忌哥哥オリジナル
2018-07-23 10:08:131791ブラウズ

ロードバランサーは、少なくとも次の機能を提供します:

  • 各サーバーの 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。