Todos los productos
Search
Centro de documentos

Microservices Engine:Migración de Spring Cloud Gateway a un gateway nativo de la nube

Última actualización: Sep 05, 2026

En un entorno de Kubernetes, Spring Cloud Gateway no descubre automáticamente los servicios de contenedores, ofrece un rendimiento inferior al de un gateway NGINX Ingress y requiere desarrollo personalizado para integrar funciones de observability y seguridad. En escenarios de migración a la nube o de nube híbrida, es posible terminar con una arquitectura de dos capas compuesta por un gateway Ingress y Spring Cloud Gateway. Esta configuración aumenta la complejidad de la red, el consumo de recursos y la sobrecarga operativa. Un gateway nativo de la nube combina las funciones de un gateway de tráfico tradicional y un gateway de microservices en un solo servicio. Esto simplifica su arquitectura, reduce costos y proporciona alto rendimiento, integración profunda y funcionalidad lista para usar. Este tema describe cómo migrar sus servicios de Spring Cloud Gateway a un gateway nativo de la nube de MSE.

Requisitos previos

Paso 1: Identificar el origen del servicio

Si su configuración cumple alguna de las siguientes condiciones, puede saltar a Step 2: Migrate Spring Cloud Gateway configurations.

  • Utiliza Container Service for Kubernetes (ACK) y usa Kubernetes Service para el descubrimiento de servicios.

  • Utiliza una instancia de MSE Nacos como registro y esta se ha actualizado a una versión compatible con Mesh Configuration Protocol (MCP).

  • No depende de un mecanismo de descubrimiento de servicios y utiliza nombres de dominio y direcciones IP fijas para sus servicios.

Si su configuración coincide con uno de los siguientes escenarios, realice los pasos de migración correspondientes para conectarse al gateway nativo de la nube:

  • Registro autogestionado

    1. Adquiera un registro de MSE Nacos. Para obtener más información, consulte Create a Nacos engine.

    2. Modifique sus configuraciones o código para registrar sus servicios en la instancia de MSE Nacos. Para obtener más información, consulte Java SDK.

    3. Opcional: Si tiene una aplicación Java, puede migrar su registro con el agente de gobernanza de Microservices Engine (MSE). Para obtener más información, consulte Migrate service registries with MSE Sync.

  • Registro compartido de Enterprise Distributed Application Service (EDAS)

    El gateway nativo de la nube admite registros de EDAS. Puede agregar directamente el registro como origen de servicio. Para obtener más detalles, consulte Add a service source.

  • Registro compartido de Serverless App Engine (SAE)

    El gateway nativo de la nube admite registros de SAE. Puede agregar directamente el registro como origen de servicio. Para obtener más detalles, consulte Add a service source.

Paso 2: Migrar las configuraciones de Spring Cloud Gateway

A continuación se muestran ejemplos de configuraciones para Spring Cloud Gateway:

  • Registro asociado

    spring:
      application:
        name: gateway-demo
      cloud:
        nacos:
          discovery:
            server-addr: nacos-server:8848
          config:
            enabled: false
  • Enrutamiento y otras configuraciones relacionadas

    spring:
      cloud:
        gateway:
          default-filters:
            - AddResponseHeader=X-Response-Default-Foo, Default-Bar
          routes:
            - id: websocket_test
              uri: ws://localhost:9000
              order: 9000
              predicates:
                - Path=/echo
            - id: default_path_to_service-a
              uri: lb://service-a
              order: 10000
              predicates:
                - Path=/sleep
    service-a:
      ribbon:
        NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
        ConnectTimeout: 1000
        ReadTimeout: 8000
        MaxAutoRetries: 3
        MaxAutoRetriesNextServer: 2
        MaxTotalConnections: 20000
        MaxConnectionsPerHost: 5000
    hystrix:
      command:
        service-a:
          execution:
            isolation:
              thread:
                timeoutInMilliseconds: 60000
              strategy: SEMAPHORE
              semaphore:
                maxConcurrentRequests: 60000

Las siguientes secciones muestran cómo asignar la configuración de Spring Cloud Gateway a operaciones en la consola de MSE:

  • Asignación de configuraciones de registro

    Con un gateway nativo de la nube, las conexiones de registro se gestionan como orígenes de servicio. Cree un origen de servicio en la consola de MSE y asócielo con sus servicios para obtener actualizaciones dinámicas en tiempo real. Para obtener más detalles, consulte Add a service source. En el cuadro de diálogo Add service source, establezca Source type en MSE Nacos, seleccione el Cluster name correspondiente, introduzca NACOS en Registry type y proporcione la Registry address. Requisito previo: En la configuración de parámetros, debe establecer MCPEnabled en true. Una vez completada la configuración, haga clic en OK.

  • Asignación de asociaciones de servicios

    1. Agregue servicios mediante la importación de aquellos a los que desea suscribirse. Para obtener más información, consulte Add a service.

    2. Establezca una versión adecuada para cada servicio agregado. Para obtener más información, consulte Manage service versions.

    service-a:
      ribbon:
        NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
        ConnectTimeout: 1000
        ReadTimeout: 8000
        MaxAutoRetries: 3
        MaxAutoRetriesNextServer: 2
        MaxTotalConnections: 20000
        MaxConnectionsPerHost: 5000
  • Asignación de configuraciones de enrutamiento

    Configure una regla de enrutamiento para el gateway. Para obtener más detalles, consulte Create a routing rule.

    spring:
      cloud:
        gateway:
          routes:
            - id: websocket_test
              uri: ws://localhost:9000
              order: 9000
              predicates:
                - Path=/echo
            - id: default_path_to_service-a
              uri: lb://service-a
              order: 10000
              predicates:
                - Path=/sleep

    Un gateway nativo de la nube admite varias políticas de enrutamiento. Para obtener más información, consulte los siguientes temas:

Paso 3: Configurar la autenticación y autorización

El gateway nativo de la nube admite varios métodos estándar de autenticación y autorización. Para obtener más información, consulte los siguientes temas:

Paso 4: Consultar datos globales del gateway

Puede consultar los paneles de datos globales de su gateway nativo de la nube. Para obtener más información, consulte los siguientes temas:

Paso 5: Migrar el tráfico

Existen varias estrategias para migrar el tráfico de clientes:

  • Migración iterativa de clientes: Seleccione algunos escenarios de negocio, modifique sus direcciones de acceso y compruebe la migración.

  • Versión canary gradual en la capa de proxy: En su capa de proxy existente, cree un plan de cambios graduales. Según su división de servicios principales y no principales, cambie progresivamente el tráfico a la nueva dirección.

  • Cambio total mediante resolución DNS: Después de realizar pruebas canary suficientes, cambie el registro DNS a la dirección de endpoint del nuevo gateway nativo de la nube.

  • (Recomendado) Migración paso a paso:

    1. Seleccione algunos escenarios de negocio para las pruebas de aceptación.

    2. Migre gradualmente el tráfico de los escenarios principales mediante versiones canary iterativas.

    3. Tras superar las pruebas de estrés, realice una migración completa mediante el cambio del registro DNS.

Estrategia de migración

Costo

Riesgo

Migración iterativa de clientes

Alto

Bajo

Versión canary gradual en la capa de proxy

Medio

Medio

Cambio total mediante resolución DNS

Bajo

Alto

Migración paso a paso

Relativamente bajo

Relativamente bajo

Documentos relacionados

Para obtener más información sobre los gateways nativos de la nube, consulte Overview of cloud-native gateways.