¿Puede lograr una implementación de tiempo de inactividad cero con magento2?

15

Si tiene un nuevo módulo y necesita ejecutarse, setup:upgradeentonces no veo una forma en que pueda tener cero tiempo de inactividad. Siempre va a fallar entre 10 y 20 segundos porque necesita actualizar la base de datos. ¿O me estoy perdiendo algo?

Incluso si está implementando en una carpeta diferente y luego, cuando se generan todos los archivos, hace un enlace simbólico del entorno en vivo a esta carpeta, aún debe cuidar la base de datos.

Claudiu Creanga
fuente

Respuestas:

2

Me pregunto en qué entorno está trabajando donde 10-20 segundos, o incluso unos minutos, de tiempo de inactividad serían un factor decisivo. Naturalmente, eso no es ideal, pero tengo que imaginar que es un precio bastante pequeño a pagar, especialmente si se implementa durante las horas no pico.

Documentación del desarrollador M2: Implemente Magento en producción . Al momento de escribir esto, los documentos son escasos y se vinculan a un problema externo de GitHub para su discusión. Sin embargo, esos documentos oficiales son un buen lugar para vigilar.

Mi equipo está investigando el uso de Capistrano para implementar M2. Todavía no nos hemos decidido por un proceso final, pero una simple búsqueda en Google ("capistrano magento 2") muestra que varias personas están experimentando con lo mismo.

Finalmente, hay varios esquemas como la implementación azul-verde que también buscan minimizar el tiempo de inactividad. El azul verdoso en particular es como tener un servidor provisional, pero en el momento crítico actualiza el DNS para que apunte de azul a verde, convirtiendo el verde en vivo y el azul en "puesta en escena". Para el próximo despliegue, el azul se vuelve a activar. De esta manera, el tiempo de inactividad es teóricamente cero y los cambios ocurren tan rápido como se propaga el cambio de DNS.

nshiff
fuente
Gracias por los útiles enlaces. DNS nunca se propaga lo suficientemente rápido en mi opinión. Me apegaría a las carpetas simbólicas. Las implementaciones durante el tiempo no pico son riesgosas. La hora no pico sería esencialmente muy temprano en la mañana o muy tarde en la noche. Si es una empresa pequeña, es posible que no tenga suficiente personal para ello.
Claudiu Creanga
1
Realmente no entiendo cómo el verde azulado puede funcionar aquí sin requerir que se realice todo tipo de sincronización de bases de datos, lo que parece riesgoso. El problema es que la instalación del módulo requiere que se realicen actualizaciones de db.
Rich S
@RichS En lo que respecta al software, la sincronización no es un problema. Pero sí, puede ser complicado evitar perder pedidos u otros datos de clientes; consulte la fuente que he vinculado. En realidad, recomienda usar el mismo db. Nuevamente, volviendo a la premisa de la pregunta, ¿cuándo van a ser realmente un problema 10 minutos de tiempo de inactividad? Primero buscaría una solución no técnica, como implementar a las 2 am, antes de introducir una complejidad innecesaria.
nshiff