Migrazione del traffico

La migrazione del traffico trasferisce il routing delle richieste tra le versioni all'interno di un servizio della tua applicazione, spostando il traffico da una o più versioni a una nuova versione.

Per informazioni sulla suddivisione del traffico tra due o più versioni dell'app, consulta l'articolo Suddivisione del traffico.

Prima di iniziare

Prima di poter configurare il traffico verso una versione, assicurati che l'account utente includa i privilegi obbligatori.

Migrazione graduale del traffico

Nell'ambiente standard puoi scegliere di indirizzare le richieste alla versione di destinazione immediatamente o gradualmente.

Per impostazione predefinita, le richieste di aggiornamento automatico sono disabilitate e il traffico viene migrato immediatamente a una versione.

Puoi anche scegliere di attivare le richieste di riavvio se vuoi che il traffico venga gradualmente migrato a una versione. Se esegui immediatamente la migrazione del traffico a una nuova versione senza istanze in esecuzione, si verificherà un picco di latenza per le richieste di caricamento. Il deployment di una nuova versione con lo stesso nome di una versione esistente causa una migrazione immediata del traffico. Tutte le istanze della versione precedente vengono arrestate immediatamente. Ci sarà un picco di latenza dovuto alle richieste di caricamento della nuova versione.

Se le richieste di riscaldamento sono abilitate, puoi eseguire la migrazione del traffico tra versioni che risiedono in ambienti diversi solo specificando di eseguire immediatamente la migrazione del traffico.

Aggiunta di richieste di riscaldamento all'applicazione

Quando le richieste di avvio sono abilitate, il traffico viene migrato gradualmente inviando una richiesta di richiesta di avvio a nuove istanze prima che tali istanze ricevano le richieste dell'utente. Le richieste di riscaldamento migliorano il tempo di risposta dell'utente consentendo alla versione che attualmente riceve il traffico di gestire tali richieste, ma la migrazione del traffico alla nuova versione può richiedere un breve periodo di tempo durante la creazione delle nuove istanze.

Se le richieste di riscaldamento non sono abilitate, le richieste degli utenti vengono inviate a queste nuove istanze prima che siano state create. A causa del ritardo causato dalla creazione delle nuove istanze e dal caricamento del codice dell'applicazione, la latenza di queste risposte utente può verificarsi.

Per evitare latenza e abilitare le richieste di riscaldamento, includi l'elemento inbound_services nel file di configurazione prima di eseguire il deployment dell'applicazione in App Engine.

Ad esempio, includi quanto segue nel file app.yaml prima di eseguirne il deployment in App Engine:

inbound_services:
- warmup

Per informazioni dettagliate sull'abilitazione delle richieste di riscaldamento, consulta Configurazione delle richieste di riscaldamento per migliorare le prestazioni.

Eseguire la migrazione del traffico a una nuova versione

console

Per eseguire la migrazione del traffico in Google Cloud Console, vai alla pagina Versioni:

Vai alla pagina Versioni

  1. Seleziona la versione in cui eseguire la migrazione del 100% del traffico.
  2. Fai clic su Esegui la migrazione del traffico.
  3. Facoltativo: quando le richieste di riscaldamento sono abilitate, il traffico viene migrato gradualmente. Per eseguire immediatamente la migrazione del traffico, seleziona l'opzione nella sezione Mostra opzioni avanzate.

gcloud

Dopo aver installato Google Cloud CLI, esegui il comando gcloud app services set-traffic per eseguire la migrazione del 100% del traffico in una singola versione. Ad esempio:

  • Per eseguire immediatamente la migrazione del traffico:
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
  • Per eseguire la migrazione graduale del traffico, includi il flag facoltativo --migrate:
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1 --migrate

Server

Per eseguire la migrazione del traffico a livello di programmazione, puoi utilizzare l'API Admin. Per maggiori dettagli, consulta Migrazione e suddivisione del traffico.