Todos los productos
Search
Centro de documentos

Serverless App Engine:Escenario de producción: Implementación de una versión canary de extremo a extremo con Spring Cloud Gateway o Zuul autoalojado

Última actualización: Sep 05, 2026

Al ejecutar una versión canary en aplicaciones de SAE respaldadas por gateways Spring Cloud o Zuul autogestionados, es necesario enrutar tráfico específico hacia la versión gray de cada microservice y lograr que dicho enrutamiento se propague automáticamente a lo largo de toda la cadena de servicios. Este tema explica cómo configurar el enrutamiento de tráfico de extremo a extremo mediante un único encabezado de solicitud HTTP, sin modificar el código de negocio.

Conceptos clave

Término

Descripción

Entorno base

La versión estable de producción de sus microservices: Aplicación A, B y C. Todo el tráfico se dirige aquí de forma predeterminada.

Entorno de versión canary

La nueva versión en validación: Aplicación A-gray, B-gray y C-gray. Solo las solicitudes que incluyen el encabezado canary llegan a este entorno.

Propagación de extremo a extremo

Una vez que el gateway de entrada enruta una solicitud a una instancia gray, la etiqueta gray se propaga automáticamente en cada llamada a servicios posteriores (A-gray → B-gray → C-gray), sin necesidad de cambios en el código.

x-mse-tag

Encabezado de solicitud HTTP utilizado exclusivamente en este escenario para dirigir tráfico a entornos de versión canary. No use este encabezado al configurar reglas de versión canary para aplicaciones.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una instancia de Application Load Balancer (ALB) configurada como gateway de entrada

  • Un registro de servicios Nacos disponible para el registro y descubrimiento de servicios

  • El paquete mse-simple-demo descargado

Despliegue de aplicaciones de demostración en SAE

Despliegue de aplicaciones principales

Despliegue la Aplicación A (carrito de compras), la Aplicación B (centro de transacciones) y la Aplicación C (centro de inventario) en SAE. Para consultar las instrucciones de configuración, consulte Modificar el registro y descubrimiento de servicios de aplicaciones a Nacos.

Despliegue de aplicaciones de versión canary

Despliegue la Aplicación A-gray, la Aplicación B-gray y la Aplicación C-gray. Agregue -Dalicloud.service.tag=gray al comando de inicio de cada aplicación canary para que el sistema pueda distinguirlas de sus contrapartes del entorno base.

Si su despliegue utiliza un registro de servicios distinto al integrado en SAE, agregue también los siguientes parámetros de inicio: -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false

Despliegue del gateway Spring Cloud o Zuul

Reenvíe las solicitudes desde el mismo nombre de dominio utilizando distintas rutas URL. Para obtener detalles sobre la configuración, consulte Configurar el enrutamiento de gateway para una aplicación mediante una instancia CLB.

Enrutamiento de tráfico al entorno de versión canary

Cuando no sea posible cambiar el nombre de dominio del cliente, asocie el nombre de dominio www.base.com a una ruta y agregue el encabezado x-mse-tag:gray a las solicitudes que deban dirigirse al entorno de versión canary. El gateway de entrada ALB lee el encabezado y enruta la solicitud a las instancias de servicio gray, las cuales propagan posteriormente la etiqueta gray a todos los servicios posteriores.

Aviso

El encabezado x-mse-tag funciona únicamente en este escenario específico. No lo utilice al configurar reglas de versión canary para aplicaciones. Para más información, consulte Gestionar reglas de versión canary para aplicaciones Java.

El siguiente diagrama ilustra cómo se dirige una solicitud entrante al entorno de versión canary tras agregar el encabezado x-mse-tag:gray.

End-to-end canary release using self-managed Spring Cloud or Zuul gateways

Verificación de la versión canary

Ejecute los siguientes comandos para confirmar que el tráfico se enruta correctamente.

Comprobación del tráfico base: las solicitudes sin el encabezado x-mse-tag se dirigen al entorno de producción:

curl -H "Host:www.base.com" http://106.14.XX.XX/a

Salida esperada:

A[172.18.XX.XX] -> B[172.18.XX.XX] -> C[172.18.XX.XX]

Comprobación del tráfico canary: agregue x-mse-tag:gray para enrutar la solicitud a través de las tres instancias gray:

curl -H "Host:www.base.com" -H "x-mse-tag:gray" http://106.14.XX.XX/a

Salida esperada:

Agray[172.18.XX.XX] -> Bgray[172.18.XX.XX] -> Cgray[172.18.XX.XX]%

La salida confirma que el controlador de entrada de Classic Load Balancer (CLB) enrutó la solicitud al entorno de versión canary de la Aplicación A, y que la etiqueta gray se propagó de extremo a extremo a través de la Aplicación B-gray y la Aplicación C-gray.

Pasos siguientes

  • Para configurar reglas automatizadas de versión canary para aplicaciones Java, consulte Gestionar reglas de versión canary para aplicaciones Java.