Bilanciamento del carico di Traffic Director

Traffic Director 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 (basati su gRPC proxy sidecar o senza proxy) con istanze in più regioni. Traffic Director fornisce informazioni di integrità, routing e backend ai proxy collaterali o a gRPC senza proxy, in modo da eseguire in modo ottimale il routing del traffico verso istanze dell'applicazione in più regioni cloud per un servizio.

Nel diagramma seguente, il traffico degli utenti entra in un deployment di Google Cloud 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. Traffic Director utilizza un algoritmo di bilanciamento del carico globale che indirizza il traffico dall'utente in California ai microservizi implementati in us-central1. Le richieste dell'utente a Singapore vengono indirizzate ai microservizi in asia-southeast1.

Una richiesta di un utente in entrata viene instradata al microservizio Front End. Il proxy di servizio installato sull'host con il front-end 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.

Traffic Director in un deployment del bilanciamento del carico globale.
Traffic Director in un deployment di bilanciamento del carico globale (fai clic per ingrandire)

Nell'esempio seguente, se Traffic Director riceve risultati del controllo di integrità che indicano che le istanze di macchine virtuali (VM) che eseguono il microservizio Carrello degli acquisti in us-central1 non sono integri, Traffic Director indica al proxy sidecar per i microservizi Front End di eseguire il failover del traffico al microservizio Carrello Shopping in esecuzione su asia-southeast1. Poiché la scalabilità automatica è integrata con la gestione del traffico in Google Cloud, Traffic Director notifica al gruppo di istanze gestite in asia-southeast1 del traffico aggiuntivo, mentre il gruppo di istanze gestite aumenta di dimensioni.

Traffic Director rileva che tutti i backend del microservizio Payments sono integri, quindi Traffic Director indica al proxy di Envoy del carrello degli acquisti di inviare una parte del traffico, fino alla capacità configurata dal cliente, a asia-southeast1 ed eseguire un overflow del resto a us-central1.

Failover con Traffic Director in un deployment di bilanciamento del carico globale.
Failover con Traffic Director in un deployment di bilanciamento del carico globale (fai clic per ingrandire)

Componenti di bilanciamento del carico in Traffic Director

Durante la configurazione di Traffic Director, configuri diversi componenti di bilanciamento del carico:

  • Il servizio di backend, che contiene i valori di configurazione.
  • Un controllo di integrità, che fornisce il controllo di integrità delle VM e dei pod Google Kubernetes Engine (GKE) nel deployment.
  • Con le API di routing dei servizi, una risorsa Mesh o Gateway e una risorsa Route.
  • Con le API di bilanciamento del carico, si tratta di 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'istanza VM client o in un pod Kubernetes. Traffic Director 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 su VM di Compute Engine o pod GKE, i componenti e il flusso di traffico in un deployment di Traffic Director. Mostra Traffic Director e le risorse di Cloud Load Balancing utilizzate per determinare il routing del traffico. Il diagramma mostra le API di bilanciamento del carico precedenti.

Risorse di Traffic Director da configurare.
Risorse di Traffic Director da configurare (fai clic per ingrandire)

Passaggi successivi