Selección de Versión de Flujo Basada en Contexto para Pruebas Canary

Esta guía explica cómo aprovechar Selección de Versión de Flujo Basada en el Contexto para implementar pruebas canarias de nuevas versiones de flujo en sus servicios. Cubriremos los conceptos fundamentales, los requisitos previos y un procedimiento de implementación detallado.

Introducción a la Selección de Versiones

La selección de versión permite el enrutamiento basado en la configuración según los encabezados de mensaje. Si sus servicios ya utilizan la Selección de Versión Basada en Contexto, puede extender esta funcionalidad para soportar pruebas canarias de nuevos flujos. Las instancias de servicio utilizan el ipf_version_selection encabezado junto con customizable reglas de enrutamiento para facilitar la prueba controlada de nuevas versiones de flujo.

Cómo Funciona la Selección de Versiones

La selección de versión opera a través de un proceso de tres pasos:

  1. El sistema detecta los encabezados de los mensajes en los puntos de entrada de inicio de flujo (normalmente receive connector s o controladores de Spring)

  2. Los encabezados seleccionados se añaden al contexto (principalmente ipf_version_selection, aunque custom se admiten encabezados)

  3. Las reglas de selección de versión evalúan el contexto para determinar la versión de flujo apropiada para el enrutamiento de mensajes.

Descripción General de Selección de Versión

Requisitos previos para implementar pruebas Canary

Los siguientes requisitos deben ser atendidos antes de que se pueda implementar la prueba canaria con selección de versión.

  1. Modificaciones del Iniciador de Transacciones

    • Debe realizarse en los componentes que envían mensajes de iniciación a sus servicios de orquestación (canales, puertas de enlace del sistema de compensación, etc).

    • Agregue lógica para incluir el ipf_version_selection header (o un custom encabezado) en mensajes de iniciación

    • Implemente la inclusión de encabezados configurables basada en sus criterios de pruebas canarias:

      • Segmentación de subconjuntos de usuarios (basada en roles, banderas de características, membresía de grupos, etc.)

      • Distribución basada en porcentajes (por ejemplo, 90%STABLE, 10%CANARY)

    • Habilite capacidades de reconfiguración rápida a través de:

      • Cambios en la configuración de implementación

      • Llamadas a la API para ajustes inmediatos

  2. Reglas de Selección de Versiones

    • Se debe realizar para cada uno de sus servicios de orquestación.

    • Defina reglas para mapping valores de encabezado a versiones de flujo específicas

    • Elija una estrategia de implementación de reglas:

      • Reglas de empaquetado dentro de los JARs de la aplicación

      • Proporcione reglas únicamente a través de la gestión de configuración de implementación (por ejemplo,Kubernetes ConfigMaps)

      • Refiérase a la documentación técnica para especificaciones detalladas de reglas

Procedimiento de Pruebas Canary Paso a Paso

Esta sección describe el procedimiento recomendado para implementar pruebas canarias utilizando el ipf_version_selection header con STABLE y CANARY como posibles valores de encabezado.

Fase 1: Configuración Inicial

  1. Sincronizar versiones de flujo

    • Asegúrese de que todas las instancias de servicio utilicen versiones idénticas para ambos STABLE y CANARY valores

    • Actualice las reglas de selección de versiones a través de:

    • Configure inicialmente ambos valores para que se dirijan a la versión estable actual. El enrutamiento a versiones estables asegura que ninguna transacción se dirija a nuevas versiones del flujo antes de que usted esté listo para comenzar sus pruebas.

  2. Configurar la Generación de Mensajes

    • Establezca todos los generadores de mensajes de inicio para utilizar el STABLE valor del encabezado

      • Este paso mantiene métricas limpias (ipf_version_selection aparece como una etiqueta)

Fase 2: Implementación y Pruebas

  1. Despliegue del Servicio

    • Realice un despliegue de actualización continua (por ejemplo, utilizando Kubernetes)

    • Monitoree métricas para verificar que los flujos estables sigan funcionando correctamente.

  2. Configuración de Canary

    • Actualice las reglas de selección de versiones para mapear CANARY encabezado a nuevas versiones de flujo

    • Modifique los generadores de inicio de flujo para incluir CANARY encabezados para la agrupación o estratificación relevante para su aplicación. Por ejemplo:

      • Grupos de usuarios específicos y/o

      • Porcentaje de tráfico definido

  3. Monitoreo y Validación

    • Cree o actualice sus paneles para que sean capaces de filtrar en ipf_version_selection = CANARY etiquetas

    • Monitoree métricas para validar el rendimiento de las nuevas versiones del flujo.

    • Si ocurren errores:

Fase 3: Implementación Progresiva a Nuevos Flujos

  1. Expansión Gradual

    • Aumente incrementalmente el CANARY porcentaje de mensaje

    • Monitoree el comportamiento del sistema en cada incremento.

    • Mantenga métricas detalladas a lo largo del proceso.

  2. Finalización

    • Continúe hasta alcanzar el 100%CANARY mensajes

    • Mantenga la iniciación al 100%CANARY para un período de observación predeterminado

    • Después de que transcurra el período de observación, actualice ambos STABLE y CANARY configuraciones para utilizar las nuevas versiones del flujo