Bilanciamento del carico di Cloud Service Mesh
Cloud Service Mesh utilizza proxy sidecar o gRPC proxyless per fornire il bilanciamento del carico globale per i microservizi interni. Puoi eseguire il deployment di microservizi interni (gRPC basati su proxy sidecar o 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 il routing ottimale del traffico verso le istanze di applicazioni in più regioni cloud per un servizio.
Nel diagramma seguente, il traffico degli utenti entra in un deployment Google Cloud
tramite un bilanciatore del carico globale esterno. Il bilanciatore del carico esterno distribuisce il traffico nel 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 a Singapore vengono indirizzate ai microservizi in asia-southeast1
.
Una richiesta utente in arrivo viene instradata al microservizio Front End. Il proxy di servizio installato sull'host con il front-end indirizza quindi 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 gestisce la gestione del traffico.
Nell'esempio seguente, se Cloud Service Mesh riceve risultati del controllo di integrità
che indicano che le istanze della macchina virtuale (VM) che eseguono il microservizio
del carrello degli acquisti in us-central1
non sono integri, Cloud Service Mesh indica al
proxy sidecar per i microservizi Front End di eseguire il failover del traffico verso il microservizio
Carrello degli acquisti in esecuzione in asia-southeast1
. Poiché la scalabilità automatica è integrata con la gestione del traffico in Google Cloud, Cloud Service Mesh invia una notifica al gruppo di istanze gestite nel asia-southeast1
del traffico aggiuntivo e le dimensioni del gruppo di istanze gestite aumentano.
Cloud Service Mesh rileva che tutti i backend del microservizio Payments sono in stato integro, pertanto Cloud Service Mesh indica al proxy di Envoy per il carrello degli acquisti di inviare una parte del traffico, fino alla capacità configurata del cliente, a asia-southeast1
e overflow del resto su us-central1
.
Componenti di bilanciamento del carico in Cloud Service Mesh
Durante la configurazione di Cloud Service Mesh, configuri diversi componenti per il bilanciamento del carico:
- Il servizio di backend, che contiene i valori di configurazione.
- Un controllo di integrità, che fornisce il controllo di integrità per le VM e i pod di Google Kubernetes Engine (GKE) nel tuo deployment.
- Con le API di routing dei servizi, una risorsa
Mesh
oGateway
e una risorsaRoute
. - Con le API di bilanciamento del carico, viene applicata una regola di forwarding 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 piano di controllo
e utilizza le API xDS per comunicare direttamente con ciascun proxy. Nel piano dati, l'applicazione invia il traffico all'indirizzo VIP configurato nella regola di forwarding o nella risorsa Mesh
. 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 sui pod GKE, i componenti e il flusso di traffico in un deployment di Cloud Service Mesh. Mostra le risorse di Cloud Service Mesh e 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 di più sulla configurazione delle funzionalità di bilanciamento del carico avanzato, consulta la panoramica del bilanciamento del carico avanzato.
- Per scoprire di più sul Service Discovery e sull'intercettazione del traffico, consulta Rilevamento dei servizi Cloud Service Mesh.
- Per ulteriori informazioni su Cloud Service Mesh con le API di routing dei servizi, consulta la panoramica.