Bilanciamento del carico di Cloud Service Mesh
Cloud Service Mesh utilizza proxy sidecar o gRPC senza proxy per fornire il bilanciamento del carico globale per i microservizi interni. Puoi eseguire il deployment di microservizi interni (sidecar basati su proxy o gRPC senza proxy) con istanze in più regioni. Cloud Service Mesh fornisce informazioni su integrità, routing e backend ai proxy sidecar o gRPC senza proxy, consentendo loro di eseguire un routing ottimale del traffico alle istanze di applicazione 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 include tre microservizi globali: Front End, Shopping
Cart e Payments. Ogni servizio viene eseguito su gruppi di istanze gestite in due regioni, us-central1
e asia-southeast1
. Cloud Service Mesh utilizza un algoritmo di bilanciamento del carico globale che indirizza il traffico dall'utente in California ai microservizi di cui è stato eseguito il deployment in us-central1
. Le richieste dell'utente di Singapore vengono indirizzate ai microservizi in asia-southeast1
.
Una richiesta utente in arrivo viene inoltrata al microservizio frontend. 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.
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é l'autoscaling è integrato con la gestione del traffico in Google Cloud, Cloud Service Mesh notifica al gruppo di istanze gestite in asia-southeast1
il traffico aggiuntivo e le dimensioni del gruppo di istanze gestite aumentano.
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
.
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 il controllo dell'integrità delle VM e dei pod Google Kubernetes Engine (GKE) nel tuo deployment.
- Con le API di routing dei servizi, è presente una risorsa
Mesh
oGateway
una risorsaRoute
. - Con le API di bilanciamento del carico, una regola di inoltro globale che include l'indirizzo VIP, un proxy di destinazione e una mappa URL.
Un proxy sidecar compatibile con l'API xDS (come Envoy) viene eseguito su un'istanza VM client 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 su VM Compute Engine o su pod GKE, i componenti e il flusso di traffico in un 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.
Passaggi successivi
- Per scoprire come configurare le funzionalità di bilanciamento del carico avanzato, consulta Panoramica del bilanciamento del carico avanzato.
- Per scoprire di più sul discovery dei servizi e sull'intercettazione del traffico, consulta Discovery dei servizi di Cloud Service Mesh.
- Per scoprire di più su Cloud Service Mesh con le API di routing dei servizi, consulta la panoramica.