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!