Cloud Service Mesh-Load Balancing
Cloud Service Mesh verwendet Sidecar-Proxys oder proxylose gRPC-Dienste, um globale Last bereitzustellen interne Mikrodienste ausgleichen können. Sie können interne Mikrodienste (basierend auf Sidecar-Proxys oder proxyloses gRPC) mit Instanzen in mehreren Regionen bereitstellen. Cloud Service Mesh bietet System-, Routing- und Back-End-Informationen für die Sidecar-Proxys oder proxylosen gRPC-Anwendungen Routing zu Anwendungsinstanzen in mehreren Cloud-Regionen für einen Dienst.
Im folgenden Diagramm gelangt der Nutzertraffic über einen externen globalen Load-Balancer in eine Google Cloud-Bereitstellung. Je nach Standort des Endnutzers verteilt der externe Load Balancer den Traffic an den Frontend-Mikrodienst in us-central1
oder asia-southeast1
.
Die interne Bereitstellung umfasst drei globale Mikrodienste: Front End, Einkaufswagen und Zahlungen. Jeder Dienst wird in verwalteten Instanzgruppen (MIGs) in zwei Regionen ausgeführt: us-central1
und asia-southeast1
. Cloud Service Mesh verwendet einen globalen Load-Balancing-Algorithmus, der den Traffic des Nutzers in Kalifornien an die in us-central1
bereitgestellten Mikrodienste weiterleitet. Anfragen des Nutzers in Singapur werden an die Mikrodienste in asia-southeast1
weitergeleitet.
Eine eingehende Nutzeranfrage wird zunächst an den Frontend-Mikrodienst adressiert. Anschließend leitet der Dienstproxy, der auf dem Host mit dem Frontend installiert ist, den Traffic an den Einkaufswagen weiter. Der Sidecar-Proxy auf dem Host mit dem Einkaufswagen sorgt am Ende für die Weiterleitung des Traffics an den Mikrodienst für Zahlungen. In einer proxylosen gRPC-Umgebung würde Ihre gRPC-Anwendung die Traffic-Verwaltung übernehmen.
Wenn Cloud Service Mesh im folgenden Beispiel Ergebnisse der Systemdiagnose empfängt
die darauf hinweisen, dass die VM-Instanzen, auf denen der Einkaufswagen ausgeführt wird,
Mikrodienst in us-central1
fehlerhaft sind, weist Cloud Service Mesh die
Sidecar-Proxy für die Front-End-Mikrodienste für das Failover des Traffics an die Shopping-
Einkaufswagen-Mikrodienst wird in asia-southeast1
ausgeführt. Da Autoscaling in die Trafficverwaltung in Google Cloud eingebunden ist, benachrichtigt Cloud Service Mesh die MIG in asia-southeast1
über den zusätzlichen Traffic und die MIG wird vergrößert.
Cloud Service Mesh stellt fest, dass alle Back-Ends des Zahlungsmikrodienstes fehlerfrei laufen. Daher weist Cloud Service Mesh den Envoy-Proxy für den Einkaufswagen an, einen Teil des Traffics bis zur konfigurierten Kapazität des Kunden nach asia-southeast1
zu senden und den Rest nach us-central1
.
Load Balancing-Komponenten in Cloud Service Mesh
Während der Einrichtung von Cloud Service Mesh konfigurieren Sie mehrere Load Balancing-Komponenten:
- Der Back-End-Dienst, der Konfigurationswerte enthält.
- Eine Systemdiagnose für die VMs und die Google Kubernetes Engine-Pods (GKE) in Ihrer Bereitstellung.
- Mit den Dienst-Routing-APIs werden eine
Mesh
- oderGateway
-Ressource und EineRoute
-Ressource. - Bei den Load-Balancing-APIs ist eine globale Weiterleitungsregel, die die VIP-Adresse, Zielproxy und URL-Zuordnung.
Ein mit xDS API kompatibler Sidecar-Proxy (z. B. Envoy) wird auf einem Client ausgeführt
VM-Instanz oder in einem Kubernetes-Pod. Cloud Service Mesh dient als Steuerungsebene und verwendet xDS APIs, um direkt mit jedem Proxy zu kommunizieren. In den Daten
sendet die Anwendung den Traffic an die im
Weiterleitungsregel oder Mesh
-Ressource. Der Sidecar-Proxy oder Ihre gRPC-Anwendung fängt den Traffic ab und leitet ihn an das entsprechende Backend weiter.
Das folgende Diagramm zeigt eine Anwendung, die auf Compute Engine-VMs oder GKE-Pods ausgeführt wird, die Komponenten und den Trafficfluss in einer Cloud Service Mesh-Bereitstellung. Es zeigt Cloud Service Mesh und die Cloud Load Balancing-Ressourcen an, die verwendet werden, um das Traffic-Routing zu bestimmen. Das Diagramm zeigt die älteren Load-Balancing-APIs.
Nächste Schritte
- Informationen zum Konfigurieren erweiterter Load Balancing-Funktionen finden Sie unter Erweitertes Load Balancing – Übersicht.
- Weitere Informationen zur Diensterkennung und zum Abfangen von Traffic finden Sie unter Cloud Service Mesh-Diensterkennung.
- Weitere Informationen zu Cloud Service Mesh mit den APIs für das Dienst-Routing finden Sie in der Übersicht.