Todos los productos
Search
Centro de documentos

Microservices Engine:Gestionar versiones de servicio

Última actualización: Sep 05, 2026

En Cloud-native Gateway, las versiones de servicio se utilizan principalmente para el enrutamiento basado en etiquetas. Configure las directivas de enrutamiento adecuadas para habilitar casos de uso como despliegues canary, enrutamiento basado en etiquetas y despliegues de alta disponibilidad.

Nota

La gestión de versiones de servicio no es compatible con servicios de tipo Fixed Address o DNS Domain Name.

Contexto

En una arquitectura de microservices, un servicio es una unidad funcional de una aplicación que suele tener un dominio de negocio independiente, como un servicio de pedidos o un servicio de usuarios. Físicamente, un servicio se ejecuta en contenedores, máquinas virtuales o máquinas físicas que cuentan con direcciones de red. Lógicamente, un servicio consta de un grupo de instancias de red que proporcionan la misma funcionalidad.

Una versión de servicio es un subconjunto de las instancias de un servicio, agrupadas según sus metadatos. Los casos de uso comunes para las versiones de servicio incluyen canary release, tag-based routing y high-availability deployment.

  • Despliegue canary: Para implementar nuevas versiones de servicio de forma segura, utilice un despliegue canary. Esta estrategia dirige una pequeña cantidad de tráfico a una nueva versión para su verificación. Tras comprobar que la nueva versión funciona correctamente, migre gradualmente todo el tráfico de la versión anterior a la nueva.

  • Enrutamiento basado en etiquetas: Un servicio puede tener varias versiones con distintas funcionalidades, cada una destinada a solicitudes específicas. Por ejemplo, para una misma API, las solicitudes con un valor de encabezado específico se enrutan a una versión de servicio concreta. También puede usar versiones de servicio para dirigir las solicitudes al entorno de desarrollo correcto (pruebas, preproducción o producción) según los atributos de la solicitud.

  • Despliegue de alta disponibilidad: Para garantizar la disponibilidad del servicio, despliéguelo en varios clústeres de Kubernetes (K8s). Al tratar las instancias de cada clúster como una versión de servicio independiente, puede ajustar el peso del tráfico enrutado a cada clúster. Si un clúster falla, redirija el tráfico estableciendo su peso en 0.

La gestión de versiones de servicio depende de los metadatos asociados a las instancias del servicio.

  • Para Container Service for Kubernetes (ACK), los metadatos de las instancias de servicio se derivan del atributo Labels de los Pods. Por ejemplo, si utiliza una aplicación Spring Cloud asociada a un servicio de Kubernetes, agregue una clave y un valor de etiqueta en spec.template.metadata.labels dentro del archivo YAML de Deployment de Kubernetes.

  • Para un registro Nacos, los metadatos de las instancias de servicio se basan en los metadatos que la aplicación proporciona durante el registro de la instancia. Por ejemplo, si usa una aplicación Spring Cloud con un registro Nacos, configure los metadatos de la instancia mediante el campo spring.cloud.nacos.discovery.metadata.

Agregar versión de servicio

  1. Inicie sesión en la consola de MSE. En la barra de navegación superior, seleccione una región.

  2. En el panel de navegación izquierdo, vaya a Cloud-native Gateway > Gateways. En la página Gateways, haga clic en el ID del gateway.

  3. En el panel de navegación izquierdo, haga clic en Routes. A continuación, haga clic en la pestaña Services.

  4. Haga clic en el nombre del servicio que desea modificar. En la sección Service Version, haga clic en Add Version.

  5. En la nueva fila que aparece en la lista de versiones de servicio, configure los parámetros y luego haga clic en el icono 完成 de la columna Actions.

    Parámetro

    Descripción

    Version Name

    Introduzca un nombre para la versión del servicio. Utilice un nombre descriptivo y fácil de identificar.

    Tag Name

    Claves de metadatos disponibles en todas las instancias del servicio. Seleccione una clave para agrupar las instancias de la nueva versión.

    Tag Value

    Valores disponibles para la tag key seleccionada. Seleccione un valor para definir el grupo de instancias de la nueva versión.

    Number of Instances/Proportion

    • Número de instancias: Cantidad de instancias que coinciden con la clave y el valor de etiqueta especificados.

    • Proporción: Porcentaje del total de instancias del servicio que pertenecen a esta versión.

    Nota

    Tag Name y Tag Value determinan conjuntamente el conjunto de instancias de la versión actual.

  6. En el cuadro de diálogo de confirmación, haga clic en OK.

    La nueva versión de servicio aparecerá en la sección Service Version.

Editar versión de servicio

  1. Inicie sesión en la consola de MSE. En la barra de navegación superior, seleccione una región.

  2. En el panel de navegación izquierdo, vaya a Cloud-native Gateway > Gateways. En la página Gateways, haga clic en el ID del gateway.

  3. En el panel de navegación izquierdo, haga clic en Routes. A continuación, haga clic en la pestaña Services.

  4. Haga clic en el nombre del servicio que desea modificar. En la sección Service Version, haga clic en el icono 编辑 de la columna Actions.

  5. Seleccione un nuevo Tag Name y una nueva Tag Value, y luego haga clic en el icono 完成 de la columna Actions.

  6. En el cuadro de diálogo de confirmación, haga clic en OK.

Eliminar versión de servicio

  1. Inicie sesión en la consola de MSE. En la barra de navegación superior, seleccione una región.

  2. En el panel de navegación izquierdo, vaya a Cloud-native Gateway > Gateways. En la página Gateways, haga clic en el ID del gateway.

  3. En el panel de navegación izquierdo, haga clic en Routes. A continuación, haga clic en la pestaña Services.

  4. Haga clic en el nombre del servicio que desea modificar. En la lista Service Version, haga clic en el icono 删除 de la columna Actions.

  5. En el cuadro de diálogo de confirmación, haga clic en OK.