Red de conocimiento informático - Conocimiento sistemático - Una breve discusión sobre la publicación en escala de grises

Una breve discusión sobre la publicación en escala de grises

El llamado lanzamiento en escala de grises consiste en lanzar primero la nueva versión funcional del software en el área de escala de grises para su verificación dentro del rango controlable. Si el resultado de la verificación es bueno, luego publíquelo oficialmente; retroceder al área de escala de grises y cancelar el lanzamiento. Un enfoque confiable y sostenible para el lanzamiento de software.

La idea central del lanzamiento en escala de grises es verificar las funciones de la nueva versión antes de lanzarla sin afectar la disponibilidad de la versión actual del sistema de software.

La llamada área gris es un entorno creado en el entorno de producción que es la misma que la versión del entorno de producción y se utiliza para implementar nuevas versiones que se verificarán.

Para el programa cliente front-end, el grupo de clientes que ha enviado e instalado la nueva versión del programa cliente que se va a verificar constituye el área gris.

Crear área gris - gt; Control de flujo - gt; Verificación de área gris - gt; Lanzamiento oficial/reversión

El área gris se utiliza para verificar la implementación de la nueva versión y la verificación de funciones. La clave para el lanzamiento en escala de grises es implementar la nueva versión en el entorno de producción y lanzarla oficialmente después de la verificación. Entonces, ¿cómo implementar y verificar la nueva versión antes de su lanzamiento oficial? En realidad, se trata de crear un área en escala de grises, entonces, ¿cómo crear un área en escala de grises?

El enfoque típico es desmantelar primero los nodos del clúster que se ejecutan en el entorno de producción y luego implementar la nueva versión para crear un área en escala de grises. Inhabilite el enrutamiento del tráfico de producción a escala de grises antes de iniciar la verificación.

Los métodos posibles para seleccionar nodos de clúster retirados son:

1) Si solo hay un clúster, puede seleccionar una pequeña cantidad de nodos de servicios de aplicaciones en el clúster (como Canary Release Seleccione Oro Igual que el nodo canario).

2) Si hay varios clústeres (como sistemas multiactivos entre IDC), puede elegir uno de los clústeres para retirarlo.

En el mismo entorno de producción, implemente un conjunto de nodos de clúster totalmente redundantes para implementar nuevas versiones y crear áreas en escala de grises (similar a la versión azul-verde). Dependiendo del método de suministro del clúster redundante, desde máquinas físicas, máquinas virtuales hasta contenedores, el costo disminuye gradualmente y la flexibilidad aumenta gradualmente.

El principal método de verificación para la publicación en escala de grises es importar tráfico real. Entonces, ¿cómo desviar de forma controlable el tráfico real al área en escala de grises creada?

Dependiendo del tipo de enrutador/equilibrador de carga utilizado, se pueden utilizar diferentes métodos de desvío de tráfico:

Usar nombres de dominio dedicados en escala de grises y convertir nombres de dominio en escala de grises a La configuración apunta a la escala de grises área. Este método de desvío de nombres de dominio requiere el uso de acceso a nombres de dominio grises, lo que aumenta los recursos de nombres de dominio y puede no ser aplicable a usuarios externos.

Las posibles formas de agregar información en escala de grises a las solicitudes HTTP son:

1) Utilice diferentes rutas URL, como hello.com.cn/canary/.... La desventaja de Este método es que consume recursos de ruta URL.

2) Agregue un campo en escala de grises a los encabezados HTTP o a la cadena de consulta URL para almacenar información en escala de grises.

3) El desvío del tráfico en escala de grises se realiza en función de la información de la solicitud HTTP original y una determinada estrategia de enrutamiento. Por ejemplo, en función de la información del usuario en las cookies, se pueden implementar estrategias de desvío de tráfico basadas en listas blancas de usuarios, áreas de usuarios u otros atributos del usuario.

Con base en la información en escala de grises agregada por el método anterior, al mismo tiempo, configure la estrategia de desvío de tráfico de respuesta en función de la información en escala de grises en el balanceador de carga responsable del enrutamiento de siete capas para lograr el desvío del tráfico.

La escala de grises general debe realizar: verificación de adaptabilidad ambiental, verificación de función, verificación de desempeño y verificación del usuario.

Si el programa implementado puede iniciarse normalmente y si el estado de ejecución es estable; si el uso de los recursos de la infraestructura (CPU, memoria, IO, red, etc.) es normal; como JVM, etc.) funciona normalmente en espera.

Monitorear los indicadores de respuesta a través de herramientas de monitoreo de indicadores de recursos de infraestructura como promethues.

Monitorear y verificar el estado de las aplicaciones integrando herramientas APM como CAT, Zipkin, Pinpoint, Skywalking, etc.

Verifique las funciones básicas del programa mediante pruebas de humo; realice UAT en nuevas funciones y reparaciones de defectos; verifique las funciones del programa importando tráfico real.

Monitorear y verificar RT y TPS de interfaces públicas de aplicaciones/servicios.

Importe tráfico real, recopile datos de comportamiento del usuario y analice el comportamiento del usuario; monitoree los indicadores comerciales generados por el acceso del tráfico real del usuario, monitoree la opinión pública, etc.

Cuando se completa la verificación, es necesario publicarlo oficialmente. El método de lanzamiento oficial depende de cómo se crea el área de escala de grises.

Si es el método de implementación del lanzamiento canario, primero restaure la política de tráfico del entorno de producción formal al área de escala de grises y luego actualice los nodos de la versión anterior de manera continua y sin pérdidas.

Si el área de escala de grises se construye utilizando redundancia azul-verde, modifique la configuración de enrutamiento para enrutar directamente todo el tráfico de producción al área de escala de grises y convierta el área de escala de grises en un clúster de entorno de producción que maneje el tráfico de producción.

Cuando se decide cancelar la liberación después de la verificación en escala de grises, es necesario revertir el área de escala de grises.

El método de implementación canary requiere revertir los nodos de la zona gris y restaurar la política de enrutamiento de tráfico formal.

Si el área en escala de grises se construye utilizando redundancia azul-verde, solo necesita desactivar el desvío del tráfico de producción del área en escala de grises.