Red de conocimiento informático - Aprendizaje de código fuente - ¿Cómo se puede lanzar la nueva versión sin afectar el rendimiento en línea? Lanzamiento gris, lanzamiento azul-verde

¿Cómo se puede lanzar la nueva versión sin afectar el rendimiento en línea? Lanzamiento gris, lanzamiento azul-verde

La forma en que muchas empresas actualizan sus aplicaciones del lado del servidor es cargar el código fuente o paquetes en el servidor, luego detener la versión anterior e iniciar la nueva. Sin embargo, hay dos problemas con este método de publicación. Por un lado, durante el proceso de actualización de la nueva versión, los servicios en línea se interrumpirán y no se podrá acceder a ellos ni utilizarlos, por otro lado, si hay errores en la nueva versión. La versión o los problemas se descubren después de la actualización, la actualización fallará y el sistema volverá a implementarse es muy problemático y puede causar que el servicio no esté disponible durante mucho tiempo.

El siguiente contenido es una reproducción de Internet y es solo para mi propio estudio e infracción Enlace original: /13886290/2162766 ,

Para resolver estos problemas, la gente se ha desarrollado. Una variedad de estrategias de publicación. A continuación las presentamos una por una.

Implementación azul-verde

La llamada implementación azul-verde se refiere a ejecutar dos versiones de la aplicación al mismo tiempo, como se muestra en la figura anterior, durante el proceso azul-verde. implementación, la versión anterior no se detiene, sino que se implementa directamente un conjunto de nuevas versiones y luego cambia el tráfico a la nueva versión una vez que la nueva versión termina de ejecutarse. Sin embargo, la implementación azul-verde requiere que durante el proceso de actualización se ejecuten dos conjuntos de programas al mismo tiempo y los requisitos de hardware sean el doble de los requisitos diarios. Por ejemplo, en la operación diaria, se necesitan 10 servidores para respaldar el negocio, por lo que. Para utilizar la implementación azul-verde, debe comprar 20 servidores.

Lanzamiento continuo

El lanzamiento continuo puede resolver el problema de duplicar los requisitos de hardware para la implementación azul-verde.

La llamada actualización continua significa que durante el proceso de actualización, en lugar de iniciar todas las versiones nuevas a la vez, se inicia una versión nueva, se detiene una versión anterior, se inicia una versión nueva, se detiene una versión anterior, se inicia una versión nueva y se detiene una versión anterior. se detiene y luego inicia nuevamente una nueva versión y luego detiene una versión anterior hasta que se completa la actualización; en este caso, si se necesitan 10 servidores diariamente, solo se necesitan 11 servidores durante la actualización.

Pero hay un problema con las actualizaciones continuas. Después de que comience la actualización continua, el tráfico fluirá directamente a la nueva versión que se lanzó, pero la nueva versión no necesariamente está disponible en este momento; por ejemplo, requiere más pruebas para confirmarla. Luego, durante el período de actualización continua, todo el sistema estará en un estado muy inestable. Si se encuentra un problema, será más difícil determinar si el problema es causado por la nueva versión o la versión anterior.

Para resolver este problema, necesitamos implementar la funcionalidad de control de flujo para las actualizaciones continuas.

Liberación en escala de grises

La liberación en escala de grises también se llama liberación de canarios. Se originó por el hecho de que los mineros descubrieron que los canarios son sensibles al gas. Los mineros colocaban el cable de oro antes de bajar. el mío, si el canario deja de chirriar, significa que la concentración de gas es alta.

Después de que comience el lanzamiento en escala de grises, se lanzará una nueva versión de la aplicación, pero los evaluadores no cortarán el tráfico directamente, sino que probarán la nueva versión en línea. Esta nueva versión de la aplicación lanzada es. nuestro canario. Si no hay ningún problema, puede importar una pequeña cantidad de tráfico de usuarios a la nueva versión y luego observar el estado de ejecución de la nueva versión y recopilar varios datos de tiempo de ejecución si desea realizar varias comparaciones de datos entre la antigua y la nueva. versiones en este momento, se llama prueba A/B.

Después de confirmar que la nueva versión funciona bien, se introducirá gradualmente más tráfico en la nueva versión. Durante este período, la cantidad de copias del servidor que se ejecutan entre la versión antigua y la nueva también puede aumentar continuamente. ajustado para que la nueva versión pueda soportar el aumento de la presión del flujo. Hasta que el 100% del tráfico se cambie a la nueva versión, los servicios restantes de la versión anterior finalmente se cierran para completar el lanzamiento en escala de grises.

Si se encuentra un problema en la nueva versión durante el período de lanzamiento en escala de grises (período gris), el tráfico debe volver a la versión anterior inmediatamente para minimizar el impacto negativo.

Otro artículo sobre equilibrio de carga: /p/836a87355ea7