Bilanciamento del carico di Cloud Service Mesh

Cloud Service Mesh utilizza proxy sidecar o gRPC senza proxy per distribuire il carico globale per i tuoi microservizi interni. Puoi eseguire il deployment di microservizi interni (basato su proxy sidecar o basato su gRPC senza proxy) con istanze in più regioni. Cloud Service Mesh fornisce informazioni su integrità, routing e backend i proxy sidecar o gRPC proxyless, consentendo di eseguire un traffico ottimale il routing a istanze di applicazioni in più regioni cloud per un servizio.

Nel diagramma seguente, il traffico degli utenti entra in una tramite un bilanciatore del carico globale esterno. Il bilanciatore del carico esterno distribuisce il traffico al microservizio Front End in us-central1 o asia-southeast1, a seconda della località dell'utente finale.

Il deployment interno prevede tre microservizi globali: Front End, Shopping carrello e pagamenti. Ogni servizio viene eseguito su gruppi di istanze gestite in due regioni, us-central1 e asia-southeast1. Cloud Service Mesh utilizza uno standard globale algoritmo di bilanciamento del carico che indirizza il traffico dall'utente in California alla di microservizi di cui è stato eseguito il deployment in us-central1. Richieste dell'utente in Singapore viene indirizzato ai microservizi in asia-southeast1.

Una richiesta utente in arrivo viene instradata al microservizio Front End. Il servizio installato sull'host con il front-end, quindi indirizza il traffico al Carrello degli acquisti. Il proxy sidecar installato sull'host con il carrello degli acquisti indirizza il traffico al microservizio Payments. In un ambiente gRPC senza proxy, l'applicazione gRPC gestirà la gestione del traffico.

Cloud Service Mesh in un deployment con bilanciamento del carico globale.
Cloud Service Mesh in un deployment a bilanciamento del carico globale (fai clic per ingrandire)

Nell'esempio seguente, se Cloud Service Mesh riceve i risultati del controllo di integrità che indicano che le istanze di macchina virtuale (VM) che eseguono il carrello non è integro in us-central1, Cloud Service Mesh indica proxy sidecar per il failover dei microservizi Front End sul traffico verso Shopping Microservizio carrello in esecuzione in asia-southeast1. Poiché la scalabilità automatica integrati con la gestione del traffico in Google Cloud, Cloud Service Mesh invia una notifica al gruppo di istanze gestite in asia-southeast1 del traffico aggiuntivo e al gruppo di istanze gestite aumenta di dimensioni.

Cloud Service Mesh rileva che tutti i backend del microservizio Payments sono integro, quindi Cloud Service Mesh indica al proxy di Envoy per il carrello degli acquisti di per inviare una parte del traffico, fino al traffico configurato dal cliente capacità massima: fino a asia-southeast1 e il resto a us-central1.

Failover con Cloud Service Mesh in un deployment con bilanciamento del carico globale.
Failover con Cloud Service Mesh in un deployment con bilanciamento del carico globale (fai clic per ingrandire)

Componenti di bilanciamento del carico in Cloud Service Mesh

Durante la configurazione di Cloud Service Mesh, configuri diversi bilanciatori del carico componenti:

  • Il servizio di backend, che contiene i valori di configurazione.
  • Un controllo di integrità, che fornisce un controllo di integrità per le VM di pod di Google Kubernetes Engine (GKE) nel tuo deployment.
  • Con le API di routing dei servizi, è presente una risorsa Mesh o Gateway una risorsa Route.
  • Con le API di bilanciamento del carico viene applicata una regola di forwarding globale, che include Indirizzo VIP, un proxy di destinazione e una mappa URL.

Un proxy sidecar compatibile con l'API xDS (come Envoy) viene eseguito su un client di un'istanza VM o in un pod Kubernetes. Cloud Service Mesh funge da controllo e utilizza le API xDS per comunicare direttamente con ciascun proxy. Nella sezione , l'applicazione invia il traffico all'indirizzo VIP configurato nel regola di forwarding o Mesh risorsa. Il proxy sidecar o la tua applicazione gRPC intercetta il traffico e lo reindirizza al backend appropriato.

Il seguente diagramma mostra un'applicazione in esecuzione sulle VM di Compute Engine o di pod GKE, i componenti e il flusso di traffico Deployment di Cloud Service Mesh. Mostra Cloud Service Mesh e Risorse di Cloud Load Balancing utilizzate per determinare il routing del traffico. Il diagramma mostra le API di bilanciamento del carico meno recenti.

Risorse Cloud Service Mesh da configurare.
Risorse Cloud Service Mesh da configurare (fai clic per ingrandire)

Passaggi successivi