La migración de tráfico cambia la ruta de las solicitudes entre las versiones de un servicio de tu aplicación, lo que permite mover el tráfico de una o varias versiones a una sola versión nueva.
Para obtener información sobre cómo dividir el tráfico entre dos o más versiones de tu aplicación, consulta División del tráfico.
Antes de empezar
Para poder configurar el tráfico a una versión, asegúrate de que tu cuenta de usuario tenga los privilegios necesarios.
Migrar tráfico gradualmente
Puedes dirigir las solicitudes a la versión de destino de forma gradual o inmediata.
De forma predeterminada, las solicitudes de preparación están inhabilitadas y el tráfico se migra inmediatamente a una versión. También puedes inhabilitar las solicitudes de preparación si quieres que el tráfico se migre inmediatamente a una versión.
Si migras inmediatamente el tráfico a una nueva versión sin ninguna instancia en ejecución, experimentarás un aumento de la latencia en las solicitudes de carga. Si despliega una versión nueva con el mismo nombre que una versión ya existente, se producirá una migración de tráfico inmediata. Todas las instancias de la versión antigua se cierran inmediatamente. Habrá un pico de latencia debido a las solicitudes de carga de la nueva versión.
Si las solicitudes de preparación están habilitadas, solo podrás migrar el tráfico entre versiones que residan en entornos diferentes si especificas que quieres migrar el tráfico inmediatamente.
Añadir solicitudes de preparación a tu aplicación
Cuando se habilitan las solicitudes de preparación, el tráfico se migra de forma gradual. Para ello, primero se envía una solicitud de preparación a las nuevas instancias antes de que estas reciban solicitudes de usuarios. Las solicitudes de calentamiento mejoran el tiempo de respuesta de los usuarios, ya que permiten que la versión que recibe tráfico gestione esas solicitudes, pero la migración de tráfico a la nueva versión puede tardar un poco mientras se crean las nuevas instancias.
Si las solicitudes de calentamiento no están habilitadas, las solicitudes de los usuarios se envían a esas nuevas instancias antes de que se hayan creado. Debido al retraso provocado por la creación de las nuevas instancias y la carga del código de la aplicación, puede haber latencia en las respuestas de los usuarios.
En todos los tiempos de ejecución, excepto en Java, para evitar la latencia y habilitar las solicitudes de calentamiento, incluye el elemento inbound_services
en el archivo de configuración antes de desplegar la aplicación en App Engine.
Por ejemplo, puedes incluir lo siguiente en tu archivo app.yaml
antes de desplegarlo en App Engine:
inbound_services:
- warmup
Para obtener información detallada sobre cómo habilitar las solicitudes de preparación, consulta Configurar solicitudes de preparación para mejorar el rendimiento.
Migrar tráfico a una nueva versión
Consola
Para migrar el tráfico en la Google Cloud consola, ve a la página Versiones:
- Selecciona la versión a la que quieras migrar el 100% del tráfico.
- Haz clic en Migrar tráfico.
- Opcional: Si habilitas las solicitudes de preparación, el tráfico se migrará gradualmente. Para migrar el tráfico inmediatamente, selecciona la opción en la sección Mostrar opciones avanzadas.
gcloud
Después de instalar Google Cloud CLI, ejecuta el comando gcloud
app services set-traffic
para migrar el 100% del tráfico a una sola versión. Por ejemplo:
-
Para migrar el tráfico inmediatamente, sigue estos pasos:
gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
-
Para migrar el tráfico gradualmente, incluye la marca opcional
--migrate
:gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1 --migrate
API
Para migrar el tráfico de forma programática, puedes usar la API Admin. Consulta el artículo Migrar y dividir el tráfico para obtener más información.