Maison  >  Article  >  Java  >  Utilisation du ruban dans les applications Spring Cloud

Utilisation du ruban dans les applications Spring Cloud

无忌哥哥
无忌哥哥original
2018-07-23 10:08:131736parcourir

Un équilibreur de charge, fournit au moins les fonctions suivantes :

  • Pour conserver l'adresse IP et d'autres informations de chaque serveur

  • Selon la logique spécifique de sélection des serveurs

Afin d'atteindre les fonctions de base d'équilibrage de charge, l'équilibreur de charge de Ribbon comporte trois sous-modules principaux :

  • Rule

  • Ping

  • ServerList

Lorsque Ribbon est utilisé dans SpringCloud, la configuration peut être effectué de deux manières, l'une est la configuration Java et l'autre est la configuration du fichier de configuration.

Configuration via 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();
	}

}

Configuration du fichier de configuration :

#自定义规则的使用
user-service-provider.ribbon.NFLoadBalancerRuleClassName=com.hurricane.learn.springcloud.ribbon.MyRule

Un écueil de l'appel de service :

Test entre services L'appel a été échoué, et l'invite était :

Request URI does not contain a valid hostname: http://user_service_provider/getUser

Finalement, j'ai découvert que c'était parce que le nom de l'instance de service ne pouvait pas avoir de traits de soulignement. Vous pouvez y accéder en changeant le nom de l'instance en aaa.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn