web-server – Mejores prácticas para actualizar un servicio web en vivo

Pregunta:

Siempre tengo curiosidad por saber cómo se realizan las actualizaciones de aplicaciones web en vivo a gran escala. Dado que la aplicación está en vivo, es por eso que complica todo: no debe apagar su servicio y al mismo tiempo debe recuperar la actividad / cambios (en la base de datos, etc.) realizados en su sitio a la nueva versión durante la actualización posterior .

La primera y más natural técnica que viene a la mente es redirigir todas las solicitudes a algún otro servidor replicado, de modo que pueda actualizar el servidor original sin cerrar el servicio.

Me pregunto si existen otras técnicas más inteligentes para manejar las actualizaciones en un servicio web en vivo. Por favor, compartan su experiencia y opiniones chicos!

Respuesta:

¿Carga su sitio en un solo servidor? Si no es así, supongo que tiene algún tipo de equilibrador de carga … Si carga en un solo servidor, escale e instale un equilibrador de carga …

La alegría de tener un servicio de este tipo le permite no solo estar altamente disponible, sino que si necesita trabajar en su aplicación, puede deshabilitar uno de los servidores para que no acepte tráfico al mundo exterior y luego trabajar en la actualización / prueba de su aplicación / sitio web. durante los períodos de tráfico menos ajetreado.

Cargo mis sitios web y aplicaciones (lo mismo en realidad) en 15 servidores y algunos se utilizan como 'Lo sentimos servidores', donde si mis servidores principales están ocupados, puedo cargar en los 'Lo sentimos'. En esta situación, puedo trabajar en mis repuestos y actualizarlos, luego, cuando estoy satisfecho con todo funcionando, saco lentamente una caja de la piscina a la vez y trabajo en esa …

Monitorear el tráfico de su sitio web / red con algo como Cacti (www.cacti.net) le permitirá ver sus horas ocupadas en función del tráfico y luego trabajar en la actualización fuera de los períodos ocupados.

Espero que esto te dé algo de luz.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım