La migrazione del traffico cambia 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 singola nuova versione.
Per informazioni sulla suddivisione del traffico tra due o più versioni della tua app, consulta la sezione Suddivisione del traffico.
Prima di iniziare
Prima di poter configurare il traffico verso una versione, assicurati che il tuo account utente includa i privilegi richiesti.
Eseguire la migrazione del traffico gradualmente
Puoi scegliere di inoltrare le richieste alla versione di destinazione gradualmente o immediatamente.
Per impostazione predefinita, le richieste di warmup sono disattivate e viene eseguita la migrazione immediata del traffico a una versione. Puoi anche scegliere di disattivare le richieste di warmup se vuoi eseguire immediatamente la migrazione del traffico 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 provoca una migrazione immediata del traffico. Tutte le istanze della versione precedente vengono immediatamente chiuse. Si verificherà un picco di latenza a causa delle richieste di caricamento della nuova versione.
Se le richieste di warmup sono abilitate, puoi eseguire la migrazione del traffico tra le versioni che si trovano in ambienti diversi solo specificando di eseguire la migrazione immediatamente.
Aggiunta di richieste di warmup all'applicazione
Quando le richieste di warmup sono abilitate, la migrazione del traffico avviene gradualmente inviando prima una richiesta di warmup alle nuove istanze prima che queste ricevano richieste degli utenti. Le richieste di preriscaldamento migliorano il tempo di risposta dell'utente consentendo alla versione attualmente in grado di ricevere traffico di gestire queste richieste, ma la migrazione del traffico alla nuova versione può richiedere un breve periodo di tempo durante la creazione delle nuove istanze.
Quando le richieste di riscaldamento non sono attivate, le richieste degli utenti vengono inviate a queste nuove istanze prima che vengano create. A causa del ritardo causato dalla creazione delle nuove istanze e dal caricamento del codice dell'applicazione, può verificarsi latenza per le risposte degli utenti.
Per tutti gli ambienti di runtime tranne Java, per evitare la latenza e attivare le richieste di riscaldamento, includi
l'elemento inbound_services
nel file di configurazione prima di eseguire il deployment
della tua applicazione su App Engine.
Ad esempio, includi quanto segue nel
app.yaml
prima di eseguirlo in App Engine:
inbound_services:
- warmup
Per informazioni dettagliate sull'attivazione delle richieste di warmup, consulta Configurazione delle richieste di warmup per migliorare le prestazioni.
Migrazione del traffico a una nuova versione
Console
Per eseguire la migrazione del traffico nella console Google Cloud, vai alla pagina Versioni:
- Seleziona la versione a cui vuoi eseguire la migrazione del 100% del traffico.
- Fai clic su Esegui migrazione del traffico.
- (Facoltativo) Quando le richieste di warmup sono attivate, la migrazione del traffico avviene 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 a una singola versione. Ad esempio:
-
Per eseguire la migrazione del traffico immediatamente:
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
API
Per eseguire la migrazione del traffico in modo programmatico, puoi utilizzare l'API Admin. Per maggiori dettagli, consulta Migrazione e suddivisione del traffico.