Funzionalità di Traffic Director

Traffic Director ti aiuta a eseguire microservizi in un mesh di servizi globale. La rete mesh gestisce il networking per i microservizi in modo che tu possa scrivere codice dell'applicazione che non ha bisogno di conoscere le complessità di networking sottostanti. Questa separazione tra la logica dell'applicazione e la logica di networking consente di migliorare la velocità di sviluppo, aumentare la disponibilità dei servizi e introdurre pratiche DevOps moderne nella tua organizzazione.

Il mesh di servizi è costituito dalle tue applicazioni, da un piano dati compatibile con xDS (in genere il proxy Envoy open source) e da Traffic Director come piano di controllo mesh.

Per eseguire il deployment di servizi gRPC senza proxy con Traffic Director nel tuo mesh di servizi, puoi utilizzare una versione supportata di gRPC.

Questo documento riassume le funzionalità disponibili in Traffic Director. Il valore N/A (non applicabile) indica che una funzionalità non può essere supportata perché non è compatibile con la specifica configurazione di Traffic Director. Uno spazio vuoto senza un segno di spunta o N/D indica che la funzionalità non è supportata, ma potrebbe esserlo in futuro.

Piano di controllo completamente gestito per mesh di servizi

Traffic Director è un servizio del piano di controllo gestito e ad alta disponibilità eseguito in Google Cloud. Poiché non è necessario installare o aggiornare il piano di controllo, avrai un componente in meno da gestire nell'infrastruttura del mesh di servizi.

Versioni di xDS supportate

Traffic Director utilizza le API del piano di controllo xDS open source per configurare Envoy e client gRPC senza proxy. Questi client agiscono per conto del codice dell'applicazione per fornire le funzionalità di networking delle applicazioni di Traffic Director.

Versione Assistenza
xDS v2 Disponibilità generale. Alcune funzioni, inclusa la sicurezza del servizio, sono disponibili solo con xDS v3. Il supporto di xDS v2 termina il 20 giugno 2024.
xDS v3 Disponibilità generale

Piattaforme per l'esecuzione di servizi mesh

Puoi eseguire le applicazioni sulle seguenti piattaforme e adottarle in un mesh di servizi globale configurato da Traffic Director.

Funzionalità Supportato
Istanze di macchine virtuali (VM) Compute Engine
Istanze di container di Google Kubernetes Engine (GKE)
Kubernetes su istanze di container di Compute Engine

Gestione dei servizi

I servizi in un mesh configurato da Traffic Director traggono vantaggio dai seguenti vantaggi:

  • Service Discovery. Quando un'applicazione nel tuo mesh vuole raggiungere un'altra applicazione, può chiamare quel servizio per nome.

  • Scalabilità automatica del backend. Le istanze che eseguono il codice dell'applicazione fanno lo scale up o lo scale down in modo dinamico a seconda delle esigenze.

  • Registrazione automatica degli endpoint. Le nuove istanze create o rimosse vengono automaticamente associate al servizio.

Funzionalità Supportato
Deployment automatico dei proxy sidecar per le VM di Compute Engine
Iniezione automatica di proxy sidecar per i pod GKE
Service Discovery basato sul nome host
Scalabilità automatica dell'istanza basata sull'utilizzo della CPU
Scalabilità automatica delle istanze basata sul carico del traffico/capacità di pubblicazione
(solo VM di Compute Engine in gruppi di istanze gestite o MIG)
Riparazione automatica dell'istanza basata su controlli di integrità configurabili
Registrazione automatica degli endpoint per le VM di Compute Engine
Registrazione automatica degli endpoint per pod/istanze di container GKE
Associa i servizi di Service Directory a un servizio di backend
API per aggiungere o rimuovere gli endpoint in modo programmatico

Endpoint per il traffico del piano dati

I microservizi utilizzano il piano dati per raggiungere i servizi nel tuo mesh e all'esterno del tuo mesh. Traffic Director consente di separare la logica dell'applicazione dalla logica di networking in modo che l'applicazione debba solo inviare richieste al piano dati, ad esempio al proxy sidecar in esecuzione insieme all'applicazione. Il piano dati invia quindi richieste all'endpoint corretto.

Nella tabella seguente, le applicazioni descritte come presenti nel mesh sono quelle che utilizzano il piano dati gestito da Traffic Director per comunicare con altri servizi. Queste applicazioni possono inviare il traffico a servizi e servizi in-mesh al di fuori del mesh.

Funzionalità Supportato
Applicazioni basate su VM nel mesh
Applicazioni basate su container nel mesh
Applicazioni basate su VM al di fuori del mesh
Applicazioni basate su container al di fuori del mesh
Applicazioni in esecuzione in data center on-premise
Applicazioni in ambienti multi-cloud
Endpoint in Service Directory

Topologie del piano dati

Nel modello mesh di servizi, le applicazioni utilizzano un piano dati per comunicare. Questo piano dati è spesso costituito da proxy sidecar di cui è stato eseguito il deployment insieme alle applicazioni. Traffic Director è altamente flessibile e supporta topologie del piano dati adatte alle tue esigenze di networking di servizi.

Funzionalità Supportato
Proxy sidecar in esecuzione insieme alle applicazioni
Applicazioni gRPC senza proxy
Proxy centrali tra due applicazioni in un mesh
Proxy perimetrali ai confini della tua rete mesh
Mesh che comprende più cluster GKE e/o VM di Compute Engine in più regioni

Configurazione programmatica basata su API

Tutta la configurazione è esposta tramite l'API REST e la dashboard pronte all'uso, che ti consentono di automatizzare le modifiche nei team di grandi dimensioni e di gestire le modifiche in modo programmatico. Alcune funzionalità non possono essere configurate utilizzando la console Google Cloud.

Funzionalità Supportato
API REST
Console Google Cloud
Google Cloud CLI
Cloud Deployment Manager
Supporto per Terraform

Supporto dei linguaggi con applicazioni gRPC senza proxy

Puoi creare applicazioni gRPC proxyless compatibili con Traffic Director utilizzando i seguenti linguaggi di programmazione. Le funzionalità del mesh di servizi supportate in varie implementazioni e versioni di gRPC sono elencate su GitHub.

linguaggio Supportato
Java
Go
C++
Python
Ruby
PHP
Nodo

Protocolli di richiesta

Le applicazioni possono utilizzare i seguenti protocolli di richiesta quando usano il piano dati configurato da Traffic Director per comunicare.

Funzionalità Supportato
HTTP
HTTPS
HTTP/2
TCP
gRPC

Sicurezza dei servizi

Traffic Director supporta la sicurezza del servizio con le seguenti configurazioni.

Funzionalità Envoy gRPC
TLS con pod GKE
mTLS con pod GKE
Controllo dell'accesso e autorizzazione

Routing e gestione del traffico

Traffic Director supporta criteri avanzati di gestione del traffico che puoi utilizzare per indirizzare, suddividere e modellare il traffico mentre passa attraverso il piano dati.

Alcune funzionalità di gestione avanzata del traffico non sono disponibili con i servizi gRPC senza proxy e nessuna di queste funzionalità è disponibile con la risorsa proxy TCP di destinazione.

Le seguenti funzionalità non sono supportate quando Traffic Director gestisce il traffico TCP (non HTTP(S).

Funzionalità Supportata con il proxy Envoy configurato per gestire il traffico HTTP(S) o gRPC Supportata con gRPC senza proxy
Routing delle richieste HTTP/di livello 7 in base alla corrispondenza con suffisso/prefisso/completa/regex su:
• Nome host
• Percorso
• Intestazioni
• Metodo N/A
• Cookie
• Parametri di richiesta N/A
Fault injection
Timeout configurabili N/D
Consulta Durata massima dello stream.
Nuovi tentativi
Eccetto per il timeout per nuovo tentativo
Reindirizzamenti
Riscritture URI
Trasformazioni dell'intestazione di richiesta/risposta
Suddivisione del traffico
Mirroring del traffico
Rilevamento outlier
Interruzione di circuito
Solo maxRequests
Durata massima dello stream

Bilanciamento del carico

Puoi configurare algoritmi e metodi di bilanciamento del carico avanzati per bilanciare il carico a livello di servizio, gruppo di backend (gruppi di istanze o gruppi di endpoint di rete) e singoli backend o endpoint. Per ulteriori informazioni, consulta la Panoramica dei servizi di backend.

Funzionalità Supportata con il proxy Envoy configurato per gestire il traffico HTTP(s), TCP o gRPC Supportata con gRPC senza proxy
Selezione del backend (gruppo di istanze o gruppo di endpoint di rete) in base alla regione (preferisci la regione più vicina con capacità di backend integro)
Selezione del backend utilizzando la modalità di bilanciamento basata sulla frequenza (richieste al secondo).
Non supportato con il traffico TCP (non HTTP(S).
Selezione del backend basata sulla modalità di bilanciamento basato sull'utilizzo (solo VM in gruppi di istanze Compute Engine)
Capacità massima configurabile per backend (solo Compute Engine e GKE)

Selezione del backend basata su criteri di bilanciamento del carico configurabili.

Per informazioni su ogni criterio integrato, consulta localityLbPolicy.

  • Utilizza un singolo criterio integrato; scegli tra le seguenti opzioni:

    • Round robin
    • Least request
    • Hash circolare
    • Casuale
    • Destinazione originale
    • Maglev

Resilienza dei servizi

Traffic Director supporta funzionalità che consentono di migliorare la resilienza dei servizi. Ad esempio, puoi utilizzare Traffic Director per implementare un pattern di deployment blu/verde, test canary o un'interruzione di circuito (Envoy, gRPC).

Funzionalità Supportata con il proxy Envoy configurato per gestire il traffico HTTP(s), TCP o gRPC Supportata con gRPC senza proxy
Selezione del servizio in base a suddivisioni del traffico in base alla ponderazione
Interruzione di circuito
Solo maxRequests

Gestione della capacità di backend e servizi

Traffic Director prende in considerazione la capacità dei servizi e del backend per garantire una distribuzione ottimale del traffico tra i backend dei tuoi servizi. Traffic Director è integrato nell'infrastruttura Google Cloud in modo da raccogliere automaticamente i dati sulla capacità. Puoi anche impostare e configurare la capacità manualmente.

Funzionalità Supportato
Monitora automaticamente la capacità e l'utilizzo del backend, in base alla CPU, per le istanze VM in un gruppo di istanze gestite.
Capacità e override manuali per le istanze VM e di container nei MIG e nei gruppi di endpoint di rete (NEG) in base alla tasso di richieste.
Svuotamento manuale della capacità.

Esegui il failover

I carichi di lavoro aziendali si basano generalmente su deployment ad alta disponibilità per garantire l'uptime dei servizi. Traffic Director supporta questi tipi di deployment abilitando la ridondanza multizona/più regioni.

Funzionalità Supportato
Failover automatico a un'altra zona all'interno della stessa regione con capacità di backend integro.
Failover automatico alla regione più vicina con capacità di backend integro.

Controlli di integrità

Traffic Director supporta il controllo di integrità centralizzato per determinare l'integrità del backend. Tuttavia, non puoi impostare un controllo di integrità se un servizio di backend contiene un'associazione di servizi per un servizio Service Directory.

Per informazioni di riferimento, consulta la panoramica dei controlli di integrità.

Funzionalità Supportato
Controlli di integrità gRPC
Controlli di integrità HTTP
Controlli di integrità HTTPS
Controlli di integrità HTTP/2
Controlli di integrità TCP

Controlli di integrità configurabili:

  • Porta
  • Controlla intervalli
  • Timeout
  • Soglie di stato di salute e stato non integro
Percorso di richiesta configurabile (HTTP, HTTPS, HTTP/2)
Stringa o percorso di richiesta configurabile (TCP o SSL)
Stringa di risposta prevista configurabile

Osservabilità

Gli strumenti di osservabilità forniscono informazioni di monitoraggio, debug e prestazioni per aiutarti a comprendere il tuo mesh di servizi. Le seguenti funzionalità sono fornite per impostazione predefinita o configurate nel piano dati. Il codice dell'applicazione non deve fare nulla di particolare per generare questi dati di osservabilità.

La dashboard dell'integrità dei servizi è disponibile con i servizi gRPC senza proxy, ma non puoi configurare il logging e il tracciamento del piano dati. Traffic Director non può configurare il logging e il tracciamento di un'applicazione gRPC. Puoi abilitare il logging e il tracciamento seguendo le istruzioni nelle sezioni per la risoluzione dei problemi o nelle guide gRPC disponibili sui siti open source. Ad esempio, per abilitare la raccolta e il tracciamento delle metriche nei servizi gRPC senza proxy, puoi utilizzare Opencensus.

Funzionalità Supportata con proxy Supportata con servizi gRPC senza proxy
Dashboard di integrità dei servizi
Logging del piano dati
Tracciamento del piano dati

Affinità sessione

Le comunicazioni client-server spesso comportano più richieste successive. In tal caso, è utile instradare richieste client successive allo stesso backend o server. Traffic Director offre opzioni configurabili per inviare richieste da un determinato client, secondo il criterio del miglior sforzo, allo stesso backend, purché il backend sia integro e abbia capacità. Per ulteriori informazioni, consulta la panoramica dei servizi di backend.

Funzionalità Supportato con i proxy HTTP(S) Supportato con i proxy TCP Supportata con servizi gRPC senza proxy
Indirizzo IP client
Cookie HTTP N/A
Intestazione HTTP N/A
Cookie generato (imposta il cookie del cliente alla prima richiesta) N/A

Topologie di rete

Traffic Director supporta le topologie di rete comuni di Google Cloud.

Funzionalità Supportato
Rete singola in un progetto Google Cloud
Mesh multipli in un progetto Google Cloud
Più gateway in un progetto Google Cloud
VPC condiviso (una singola rete condivisa tra più progetti Google Cloud)

Per una spiegazione dettagliata di come il VPC condiviso è supportato con Traffic Director, consulta Limitazioni.

Conformità

Traffic Director è conforme ai seguenti standard.

Certificazione di conformità Supportato
HIPAA
ISO 27001, ISO 27017, ISO 27018
SOC1, SOC2, SOC3
PCI DSS

Passaggi successivi