Todos los productos
Search
Centro de documentos

Microservices Engine:Configurar el enrutamiento basado en etiquetas

Última actualización: Sep 05, 2026

El enrutamiento basado en etiquetas funciona mediante el etiquetado del tráfico y los nodos, lo que permite agregar capacidades de enrutamiento para dirigir el tráfico con características específicas hacia nodos con las etiquetas correspondientes. Este método sienta las bases para estrategias de despliegue avanzadas como el despliegue azul-verde y la canary release.

Requisitos previos

Limitaciones

Nota

Esta función está disponible en MSE Governance Center y requiere que sus aplicaciones estén conectadas a este servicio.

Para consultar la lista de versiones de Java y frameworks compatibles con el enrutamiento basado en etiquetas, consulte Java frameworks supported by Microservices Governance.

Casos de uso

Desarrollo y pruebas de múltiples versiones

El desarrollo paralelo de varias versiones de una aplicación requiere un entorno de desarrollo independiente para cada versión, lo que genera altos costos de recursos. Una estrategia de aislamiento de tráfico puede reducir significativamente estos costos. Mediante el uso de aislamiento de tráfico de extremo a extremo basado en enrutamiento por etiquetas, es posible dirigir tráfico específico a un entorno de desarrollo designado. Por ejemplo, en el Entorno de desarrollo 1, se puede aplicar la etiqueta Tag1 a la versión V1.1 de la Aplicación B y la Aplicación D, y configurar una regla de enrutamiento correspondiente. Cuando la Aplicación A llama a la Aplicación B, el sistema comprueba si el tráfico coincide con la regla de enrutamiento. De ser así, el tráfico se enruta a la instancia V1.1 de la Aplicación B en el Entorno de desarrollo 1; de lo contrario, se dirige a la instancia V1 en el entorno base. Del mismo modo, cuando la Aplicación C llama a la Aplicación D, el tráfico se enruta a la instancia V1 o V1.1 de la Aplicación D según las características del tráfico.

Aislamiento de tráfico entre múltiples versiones

Si varias versiones de una aplicación se ejecutan en línea en diferentes entornos, como un entorno regular y uno de propósito especial, se puede utilizar el enrutamiento basado en etiquetas para aislar el tráfico entre ellos. Por ejemplo, es posible enrutar el tráfico de ventas flash o canales específicos al entorno de propósito especial, mientras que el tráfico normal se dirige al entorno regular. Esto garantiza que, incluso si falla el entorno de propósito especial, el tráfico destinado a este no se redirija al entorno regular, evitando cualquier impacto negativo en dicho entorno.

Pruebas A/B

Para realizar pruebas A/B en múltiples versiones de una aplicación, se puede utilizar el enrutamiento basado en etiquetas para el control de tráfico de extremo a extremo. Por ejemplo, es posible enrutar el tráfico de clientes de la Región A a la versión V1 y el tráfico de la Región B a la versión V1.1. Al validar diferentes versiones, se reducen los riesgos asociados con el lanzamiento de nuevos productos o funciones.

Habilitar Microservices Governance y establecer etiquetas

Este tema utiliza como ejemplo una aplicación llamada spring-cloud-a. Se aplicarán las etiquetas tag1 y tag2 para crear dos grupos de instancias de aplicación. Si una solicitud coincide con las condiciones configuradas, se enruta a una instancia con la etiqueta especificada. Si no coincide con ninguna regla, el tráfico se distribuye a las instancias según los porcentajes de distribución de tráfico configurados.

  1. Inicie sesión en la consola de Container Service for Kubernetes (ACK).

  2. En el panel de navegación izquierdo, seleccione Clusters y luego haga clic en el nombre del clúster objetivo.

  3. En el panel de navegación izquierdo, seleccione .

  4. Haga clic en Create from Image para crear dos cargas de trabajo de tipo Deployment llamadas spring-cloud-a-tag1 y spring-cloud-a-tag2. Para obtener más información, consulte Create a stateless workload Deployment.

    Parámetro

    Descripción

    Replicas

    Establezca el valor en 1.

    Type

    Seleccione Deployment.

    Image name

    Seleccione su imagen compilada o utilice la imagen precompilada registry.cn-hangzhou.aliyuncs.com/mse-governance-demo/spring-cloud-a:3.0.1.

  5. Siga estos pasos para conectar spring-cloud-a-tag1 y spring-cloud-a-tag2 a Microservices Governance y establecer sus etiquetas.

    1. Regrese a la página Deployments. Seleccione un espacio de nombres en Namespaces y busque las aplicaciones creadas (spring-cloud-a-tag1 y spring-cloud-a-tag2). En la columna Actions, seleccione More > View in YAML.

    2. En el cuadro de diálogo Edit YAML, agregue las siguientes etiquetas bajo tanto para spring-cloud-a-tag1 como para spring-cloud-a-tag2 con el fin de conectarlas a Microservices Governance.

      labels:
        msePilotAutoEnable: "on"
        msePilotCreateAppName: <your-app-name>
        alicloud.service.tag: <tag>
      Nota
      • Reemplace <your-app-name> con el nombre de su aplicación en Microservices Governance. En este ejemplo, el nombre es spring-cloud-a.

      • Reemplace <tag> con tag1 o tag2.

    3. Haga clic en Update.

Crear una regla de enrutamiento basada en etiquetas

  1. Inicie sesión en la consola de MSE Governance Center y seleccione una región en la barra de navegación superior.

  2. En el panel de navegación izquierdo, seleccione Microservices Governance > Application Governance.

  3. En la página Application list, seleccione el espacio de nombres de microservices deseado, busque la aplicación spring-cloud-a que creó en ACK y haga clic en su nombre.

  4. En el panel de navegación izquierdo, haga clic en Traffic Management y luego en la pestaña Tag-based Routing para ver la configuración de enrutamiento actual.

  5. En la lista Tag-based Routing, haga clic en Traffic Distribution, establezca el porcentaje de tráfico para cada etiqueta y luego haga clic en Save.

    Por ejemplo, establezca el porcentaje de tráfico para tag1 en 100%, y los porcentajes para las instancias tag2 y untagged en 0%.

  6. En Traffic Rules, haga clic en Add. En el panel Create Tag-based Routing, configure los parámetros y haga clic en OK para crear la regla de enrutamiento.

    Nota

    El enrutamiento basado en etiquetas prioriza las condiciones definidas en una regla de tráfico. Si una solicitud coincide con una regla de tráfico, se enruta a un pod con la etiqueta correspondiente. De lo contrario, la solicitud se enruta a un pod según los porcentajes de distribución de tráfico especificados.

    Parámetro

    Descripción

    Nombre de la regla de enrutamiento

    El nombre de la regla de enrutamiento basada en etiquetas. Ejemplo: test-springcloud.

    Application

    El nombre de la aplicación. Ejemplo: spring-cloud-a.

    Tag

    La etiqueta que estableció para la aplicación en ACK. Ejemplo: tag2.

    Instancia de aplicación

    La dirección IP y el puerto de la instancia de la aplicación spring-cloud-a que tiene esta etiqueta.

    Reglas de tráfico

    Tipo de framework

    Seleccione el framework de su aplicación: Spring Cloud o Dubbo.

    • Para Spring Cloud, solo puede establecer la ruta URL, como /getIp.

    • Para Dubbo, puede seleccionar un servicio y una interfaz.

    Modo de condición

    Seleccione un modo de condición según sus necesidades: Meet all of the following conditions o Meet any of the conditions.

    Lista de condiciones

    • Si el Tipo de framework es Spring Cloud, puede establecer condiciones basadas en Parameter, Cookie, Header o Body Content. Por ejemplo, una condición de Parameter podría ser name=xiaoming, y una condición de Cookie podría ser hello = "world" or "world2".

    • Si el Tipo de framework es Dubbo, debe especificar una expresión para recuperar los valores de los parámetros.

Verificación

Compruebe los resultados según sus requisitos empresariales.

  • De forma predeterminada, el 100 % del tráfico se enruta al nodo con la etiqueta tag1.

    Atag1[192.168.0.122][config=base] -> B[192.168.0.147] -> C[192.168.0.115]
  • El tráfico que coincide con la regla se enruta al nodo con la etiqueta correspondiente.

    Atag2[192.168.0.156][config=base] -> B[192.168.0.120] -> C[192.168.0.115]

Documentación relacionada

Para aprender a implementar una canary release de extremo a extremo, consulte End-to-end canary release.