¿Por qué no reinicias tu servidor?

Ahora estamos en una época en la que puede tener tantos recursos que es más barato simplemente girar nuevos servidores y descartar los viejos.

En la arquitectura moderna, los servidores tienen equilibrio de carga y los equilibradores de carga tienen equilibrio de carga a través de DNS round robin.

¡Para los usuarios, es completamente transparente!

Para la red, no hay cambio.

Además, pocos servidores están inactivos y listos para hacerse cargo. 2 servidores frontales y uno de repuesto.

Al actualizar servidores, los nuevos servidores se ponen en línea y los servidores antiguos se eliminan progresivamente. Lo que hace que todo sea sencillo para todos.

La reversión se hace incluso más fácil que antes. Solo es cuestión de instalar un servidor antiguo y descartar los nuevos.

Por último, pero no menos importante: la implementación progresiva es posible. Los usuarios pueden ser dirigidos progresivamente a nuevos servidores, lo que da tiempo suficiente para confirmar que el nuevo sistema es estable. (Esta infraestructura permite pruebas exhaustivas del nuevo servidor antes de enviarlos al frente de batalla)

Ah, y también podemos crear algún tipo de réplica con Docker Compose. Por lo tanto, los desarrolladores pueden hacer girar algo cercano al entorno real, hacer sus implementaciones y realizar pruebas iterativas antes de someterse a QA.

Por lo tanto, en realidad, incluso podemos subir y bajar servidores con mayor frecuencia debido a estas instalaciones.

Por supuesto, todo lo que escribí se verá extraño para la mayoría de las personas. Pero cuando su sitio web es un sitio web de juegos, ¡es otra historia! SLA 99.99%, los 4 días se deben a que la mayoría de los centros de datos no pueden tener un SLA del 100%.

Muy a menudo tienes que hacerlo. Es un problema

Si tiene un sitio simple con un servidor, todos sus usuarios serán expulsados. Si estaban en medio de algún trabajo, como completar un formulario complejo, ese trabajo puede perderse.

No hay un buen mensaje de error. El navegador solo dice que no se puede conectar.

Si tiene varios servidores con equilibrio de carga por falla, las cosas son mejores. Cuando su sitio está en silencio, las solicitudes se redirigen y es más probable que más usuarios no vean nada. El trabajo aún se puede perder en la conmutación por error.

Pero si el sitio está ocupado, sus problemas pueden reaparecer. Solo que más grande.

La carga de su servidor caído se coloca en las otras cajas. Estos pueden sobrecargarse y dejar de responder. Los servicios web en el futuro pueden sobrecargarse. Los disyuntores (software) pueden dispararse y detener el tráfico por un momento.

Una vez que los servidores están respaldados, los interruptores automáticos se abren y usted puede terminar creando su propio ataque DDoS en sus propios servidores mientras intentan hacer frente a la acumulación de solicitudes que ahora son concurrentes, cuando estaban en un patrón de tráfico normal antes .

Rebotar servidores no siempre es fácil en un entorno de producción

Casi nunca reiniciamos los servidores para intentar solucionar los problemas. Hacerlo tienta al personal a usar reinicios de scattergun en lugar de investigar adecuadamente.

Los reinicios a menudo destruyen la evidencia, por lo que luego no somos más sabios de lo que salió mal.

Y a veces el reinicio causa otros problemas: rompe otro servicio o algo así.

Tenemos algo llamado “alerta de pastel” para un reinicio donde el ingeniero responsable no puede proporcionar una justificación sensata de por qué era necesario. Pastel para la oficina!

Los ingenieros deben investigar y corregir adecuadamente lo que realmente está mal.