Hinweise zur Microservice-Studie – (Band)

Ribbon-Lastausgleich

  • Lastausgleichsstrategie
  • faules Laden

Strategie für den Ribbon-Load-Balancing

Die Lastausgleichsregeln von Ribbon werden durch eine Schnittstelle namens IRule definiert, und jede Unterschnittstelle ist eine Regel:

Der Boden
AbstractLoadBalancerRule
Wiederholungsregel ClientConfigEnabledRoundRobinRule RoundRobinRule RandomRule
BestAvailableRule PredicateBaseRule WeightedResponseTimeRule
AvailabilityFilteringRule ZoneAvoidanceRule

Integrierte Regelklasse für den Lastausgleich Regelbeschreibung
RoundRobinRule Rufen Sie einfach die Liste der Dienste ab, um einen Server auszuwählen. Dies ist die Standardlastausgleichsregel von Ribbon.
AvailabilityFilteringRule Ignorieren Sie die folgenden zwei Server: (1) Wenn dieser Server dreimal keine Verbindung herstellen kann, wird dieser Server standardmäßig auf den Status „Kurzschluss“ gesetzt. Der Kurzschlusszustand dauert 30 Sekunden, bei erneutem Verbindungsausfall verlängert sich die Dauer des Kurzschlusses insgesamt. (2) Server mit zu hoher Parallelität. Wenn die Anzahl gleichzeitiger Verbindungen zu einem Server zu hoch ist, wird dies auch von Clients ignoriert, die mit der AvailabilityFilteringRule-Regel konfiguriert sind. Die Obergrenze der Anzahl gleichzeitiger Verbindungen kann mit den Eigenschaften , und ActiveConnectionsLimit des Clients konfiguriert werden.
WeightedResponseTimeRule Weisen Sie jedem Server einen Gewichtungswert zu. Je länger die Antwortzeit des Servers ist, desto geringer ist das Gewicht dieses Servers. Diese Regel wählt zufällig einen Server aus und dieser Gewichtungswert wirkt sich auf die Serverauswahl aus.
ZoneAvoidanceRule Die Serverauswahl basiert auf den in der Region verfügbaren Servern. Verwenden Sie Zone, um Server zu klassifizieren. Diese Zone kann als Computerraum, Rack usw. verstanden werden. Fragen Sie dann mehrere Dienste in der Zone ab.
BestAvailableRule Ignorieren Sie, welche Server kurzgeschlossen sind, und wählen Sie Server mit geringerer Parallelität aus
RandomRule Wählen Sie zufällig einen verfügbaren Server aus
Wiederholungsregel Auswahllogik für den Wiederholungsmechanismus

Es gibt zwei Möglichkeiten, die militärischen Laderegeln durch die Definition von IRule zu ändern:
1. Code-Methode: Definieren Sie in der OrderApplication-Klasse in order-service eine neue IRule:

Dies ist global. Nach der Konfiguration ist es gleich, ob der Bestellservice künftig den Benutzerservice oder andere Dienste aufruft.

@Bean
public IRule randomRule() {
    
    
	return new RandomRule();
}

2. Konfigurationsdateimethode: In der Datei applicaiton.yml von order-service können durch Hinzufügen neuer Konfigurationen auch die Regeln geändert werden:

Dies gilt nur für einen bestimmten Mikrodienst und nur für den Aufruf des Benutzerdienstes.

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则

Bandhunger wird geladen

Ribbon verwendet standardmäßig Lazy Loading, d. h. LoadBalanceClient wird nur erstellt, wenn zum ersten Mal darauf zugegriffen wird, und die Anforderungszeit ist sehr lang. Und das Laden von Hunger wird zu Beginn des Projekts aufgezeichnet, was den Zeitaufwand für den ersten Besuch reduziert und das Laden von Ausleihen durch die folgende Konfiguration ermöglicht:

ribbon:
  eager-load:
    enabled: true #开启饥饿加载
    clients: userservice # 指定对userservice这个服务饥饿加载

Zusammenfassen:

1. Regeln für den Ribbon-Lastausgleich

  • Die Regelschnittstelle ist IRule
  • Die Standardimplementierung ist ZoneAvoidanceRule. Wählen Sie die Dienstliste entsprechend der Zone aus und fragen Sie dann ab

2. Benutzerdefinierte Lastausgleichsmethode

  • Codemethode: flexible Konfiguration, muss jedoch bei Änderung neu gepackt und freigegeben werden
  • Konfigurationsmethode: Intuitiv und bequem, kein Umpacken und Veröffentlichen erforderlich, eine globale Konfiguration ist jedoch nicht möglich

3. Hungriges Laden

  • Aktivieren Sie das Hungerladen
  • Geben Sie den Microservice-Namen für das Hungerladen an

Supongo que te gusta

Origin blog.csdn.net/weixin_42594143/article/details/130509306
Recomendado
Clasificación