Ein Load Balancer, der mindestens die folgenden Funktionen bereitstellt:
Zur Verwaltung der IP-Adresse und anderer Informationen jedes Servers
Gemäß der spezifischen Logik der Serverauswahl
Um grundlegende Lastausgleichsfunktionen zu erreichen, verfügt der Load Balancer von Ribbon über drei Hauptuntermodule:
Regel
Ping
ServerList
Wenn Ribbon in SpringCloud verwendet wird, ist die Konfiguration Dies kann auf zwei Arten erfolgen: Eine ist die Java-Konfiguration und die andere ist die Konfiguration der Konfigurationsdatei.
Konfiguration über 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(); } }
Konfiguration der Konfigurationsdatei:
#自定义规则的使用 user-service-provider.ribbon.NFLoadBalancerRuleClassName=com.hurricane.learn.springcloud.ribbon.MyRule
Eine Falle beim Aufrufen von Diensten:
Testen Sie Anrufe zwischen Diensten, rufen Sie weiterhin an. Erfolglos, Eingabeaufforderung :
Request URI does not contain a valid hostname: http://user_service_provider/getUser
Schließlich fand ich heraus, dass es daran lag, dass der Name der Dienstinstanz keine Unterstriche enthalten darf. Sie können darauf zugreifen, indem Sie den Instanznamen in aaa ändern.
Das obige ist der detaillierte Inhalt vonRibbon-Nutzung in Spring Cloud-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!