Estrategia de Desplazamiento de Tráfico Canary de API7 Enterprise para un Control Preciso del Tráfico

January 29, 2024

Products

En una arquitectura moderna de microservicios, la puerta de enlace de API sirve como el punto de entrada del tráfico de los sistemas, manejando tareas cruciales como el enrutamiento de solicitudes, la autenticación de identidad, la limitación de tasa y el cortacircuitos. API7 Enterprise, como una plataforma robusta de gestión de API construida sobre APISIX, ofrece a los usuarios funcionalidades ricas y flexibles, con el desplazamiento de tráfico canario desempeñando un papel fundamental en escenarios como actualizaciones de servicios sin interrupciones y validación de nuevas características.

Resumen de Características

Creación de Upstream Basado en Servicios Upstream

Cuando un servicio se despliega en los grupos de puerta de enlace de API7 Enterprise, los administradores pueden derivar fácilmente un nuevo upstream para el desplazamiento de tráfico canario a partir de servicios de upstream base existentes. El upstream puede heredar todas las configuraciones del upstream base o seleccionar heredar configuraciones históricas probadas. Este diseño simplifica significativamente el proceso de configuración, reduciendo el trabajo repetitivo y los posibles errores de configuración. Además, el upstream de desplazamiento de tráfico canario admite la configuración de nuevos nodos o la integración de mecanismos de descubrimiento de servicios. Esto significa que, sin afectar la lógica de negocio existente, una parte del tráfico puede redirigirse a nuevos servidores o entornos para pruebas de rendimiento, validación de características u otros tipos de evaluación.

Condiciones y Pesos de Desplazamiento Flexibles

Al iniciar estrategias de desplazamiento de tráfico canario, los administradores pueden definir finamente las condiciones y pesos para el desplazamiento de tráfico:

Condiciones de Desplazamiento: Estas determinan qué tráfico debe dirigirse al upstream de desplazamiento de tráfico canario. Los administradores pueden combinar múltiples condiciones usando operadores lógicos (como "AND" y "OR") para asegurar que solo las solicitudes que cumplen condiciones específicas entren en el entorno de desplazamiento de tráfico canario.

Propiedades que pueden usarse para el juicio incluyen:

  • Header: Campos específicos en el encabezado de la solicitud, como User-Agent.

  • Cookie: Información de Cookie enviada por el cliente, comúnmente usada para identificación de usuario o reconocimiento de estado de sesión.

  • Parámetros de Consulta: Parámetros de cadena de consulta en la URL.

  • Variables: Variables del sistema o personalizadas, como ubicación geográfica o roles de usuario.

    La lógica de coincidencia incluye igual a (==), no igual a (~=), coincidencia regular (~~), entre otros métodos, asegurando la flexibilidad y precisión del juicio de condiciones.

    Por ejemplo, los administradores pueden establecer la siguiente condición de desplazamiento: "Cuando el campo User-Agent en el encabezado de la solicitud contiene 'iPhone' y el campo user_group en la Cookie es igual a 'test_group', redirigir la solicitud al upstream de desplazamiento de tráfico."

Pesos de Desplazamiento: Estos determinan qué porcentaje de tráfico debe dirigirse al upstream de desplazamiento de tráfico canario. Es un valor porcentual que permite a los administradores aumentar o disminuir gradualmente el tráfico que entra en el entorno de desplazamiento de tráfico canario.

Inicialmente, el peso puede establecerse en un valor bajo (por ejemplo, 10%) para asegurar que las nuevas características se prueben en un rango pequeño. A medida que avanza la prueba y se recopilan resultados, el peso puede aumentar gradualmente hasta que, eventualmente, el 100% del tráfico cambie a la nueva versión.

Al ajustar flexiblemente las condiciones y pesos de desplazamiento, los administradores pueden controlar efectivamente el alcance y el impacto de las pruebas de desplazamiento de tráfico canario, asegurando el lanzamiento sin problemas de nuevas características y la estabilidad del sistema.

Desplazamiento de Tráfico de API7 Enterprise

Escenarios de Aplicación Práctica

  1. Validación de Nuevas Características: Cuando un equipo de desarrollo completa una nueva característica y se prepara para lanzarla, el desplazamiento de tráfico canario puede usarse para lanzar inicialmente la nueva característica a un pequeño subconjunto de usuarios o grupos de usuarios específicos. Esto permite recopilar comentarios de los usuarios en un entorno real mientras se asegura que, si surgen problemas, el alcance del impacto sea manejable.

  2. Pruebas de Rendimiento: Durante eventos importantes o escenarios de alta concurrencia, los administradores pueden usar el desplazamiento de tráfico canario para redirigir una parte del tráfico a nodos recién configurados y de mayor capacidad para probar los límites de rendimiento y la estabilidad del sistema.

  3. Migración Gradual: Durante actualizaciones o migraciones de servicios, el desplazamiento de tráfico canario puede ayudar a los administradores a transicionar gradualmente el tráfico del entorno antiguo al nuevo, asegurando un proceso de migración sin problemas.

Mejores Prácticas

  1. Establecer Condiciones de Desplazamiento Razonables: Elegir condiciones de desplazamiento apropiadas basadas en necesidades reales es crucial. Por ejemplo, para pruebas dirigidas a grupos de usuarios específicos, se puede lograr un desplazamiento preciso a través de identificadores de usuario en Cookies o Headers.

  2. Ajuste Dinámico de Pesos: Durante las pruebas, ajustar dinámicamente los pesos de desplazamiento basados en los resultados de las pruebas y los comentarios de los usuarios puede acelerar la recopilación de datos válidos o reducir el alcance de los problemas.

  3. Monitoreo y Alertas: Fortalecer el monitoreo de métricas relevantes durante el desplazamiento de tráfico y establecer mecanismos de alerta apropiados permite la detección y resolución oportuna de problemas.

Conclusión

A través del desplazamiento de tráfico canario de API7 Enterprise, las empresas no solo pueden asegurar la estabilidad del servicio, sino también realizar pruebas de nuevas características, optimización de rendimiento y otras operaciones de manera flexible, proporcionando un soporte robusto para el rápido crecimiento del negocio.

Tags: