equilibrio de carga una aplicación web no tiene mucho que ver con la aplicación en sí, sino más con alojamiento e infraestructura. Sin embargo, todavía hay algunos puntos clave a los que debe prestar atención cuando construya una aplicación que se supone que tiene un equilibrio de carga. Éstos son algunos:
- No utilice el servidor de estado. Lo que significa que no puede usar el objeto de sesión tradicional porque está almacenado en la memoria de la máquina local para que un objeto esté disponible en un servidor pero no en el otro
- No utilice el disco para almacenar nada. La misma razón que la anterior. Puede escribir un archivo en el disco del servidor 1 e intentar leer en el servidor 2
- En pocas palabras, debe evitar cualquier tipo de recursos que dependan del servidor. Si necesita usar algo como esto (servidor de estado, disco, etc.) debe almacenar un recurso compartido para que todas las máquinas de equilibrio de carga accedan a él
Si esto es un problema para una aplicación existente, por ejemplo, puede Esto se soluciona configurando afinidad en Load Balancer, lo que significa que todas las solicitudes que provienen de un usuario específico serán atendidas por el mismo servidor. Obviamente, este enfoque tiene el inconveniente de hacer que su aplicación sea menos escalable, ya que un servidor puede obtener más procesamiento que el otro.
Por lo tanto, con respecto al software para hacer el equilibrador de carga, no soy Linux, pero veo mucha gente hablando de Apache como WebServer y HAProxy como la aplicación de balanceador de carga.
Espero que ayude!
Quizás agregue un poco de contexto por qué necesita esto en primer lugar y qué tipo de aplicaciones va a ejecutar y qué hacen (¿utiliza bases de datos, archivos, sesiones ... ¿Hay actualizaciones frecuentes de contenido? ¿Hay algún respaldo? ¿fin? etc. etc.) –