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. Den externen Load Balancer verteilt den Traffic an den Frontend-Mikrodienst us-central1 oder asia-southeast1, je nach Standort des Endnutzers.

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 ein globales Load-Balancing-Algorithmus, der den Traffic vom Nutzer in Kalifornien Mikrodienste, die in us-central1 bereitgestellt wurden. 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.

<ph type="x-smartling-placeholder">
</ph> Cloud Service Mesh in einer Bereitstellung mit globalem Load-Balancing
Cloud Service Mesh in einer Bereitstellung mit globalem Load-Balancing (zum Vergrößern klicken)

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 eingebunden in Traffic-Verwaltung in Google Cloud, Cloud Service Mesh benachrichtigt die verwaltete Instanzgruppe in asia-southeast1 über den zusätzlichen Traffic und die verwaltete Instanzgruppe größer werden.

Cloud Service Mesh erkennt, dass alle Back-Ends des Mikrodiensts für Zahlungen sind Daher weist Cloud Service Mesh den Envoy-Proxy für den Einkaufswagen an, nur einen Teil des Traffics senden – bis zur Konfiguration des Kapazität – bis asia-southeast1 und der Rest in us-central1.

<ph type="x-smartling-placeholder">
</ph> Failover mit Cloud Service Mesh in einer Bereitstellung mit globalem Load-Balancing.
Failover mit Cloud Service Mesh in einer Bereitstellung mit globalem Load-Balancing (zum Vergrößern klicken)

Load-Balancing-Komponenten in Cloud Service Mesh

Während der Einrichtung des Cloud Service Mesh konfigurieren Sie mehrere Load-Balancing-Module 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- oder Gateway-Ressource und Eine Route-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 Kontrolle 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. Den Sidecar-Proxy oder Ihre gRPC-Anwendung fängt den Traffic ab und leitet ihn an das entsprechende Back-End weiter.

Das folgende Diagramm zeigt eine Anwendung, die auf Compute Engine-VMs oder GKE-Pods, den Komponenten und dem Trafficfluss in einer Cloud Service Mesh-Bereitstellung Es zeigt Cloud Service Mesh und die Cloud Load Balancing-Ressourcen, die zum Festlegen des Traffic-Routings verwendet werden. Das Diagramm zeigt die älteren Load-Balancing-APIs.

<ph type="x-smartling-placeholder">
</ph> Zu konfigurierende Cloud Service Mesh-Ressourcen.
Zu konfigurierende Cloud Service Mesh-Ressourcen (zum Vergrößern klicken)

Nächste Schritte