2009-05-25 8 views
11
  1. Mi primera pregunta es, a menudo leo sobre personas que usan múltiples servidores dedicados para ejecutar sus sitios web, y procesar las consultas de los usuarios. ¿Pero cómo exactamente hacen esto? Quiero decir, cuando ingreso un nombre de dominio, un DNS resuelve el mapeo de eso en una dirección IP, pero estoy perdido después de eso ... ¿hay algún tipo de arquitectura maestro/esclavo allí para equilibrar la carga de solicitudes entre los (potencialmente) cientos de servidores?¿Cómo funcionan varios servidores en sincronización para la aplicación web?

  2. Si ese es el caso, ¿cómo comparten los diferentes servidores, compartir datos (base de datos, por ejemplo)? ¿Se conectarán al mismo disco duro?

Respuesta

5

ultramonkey le dará una buena descripción de cómo equilibrar la carga a través de muchos servidores, por lo que se ve 1 dirección IP, pero la conexión va a parar a uno de los muchos servidores (con tolerancia a fallos incluido).

Si usted no tiene sus servidores web utilizando el mismo almacenamiento (almacenamiento común puede ser complicado, hay que utilizar un SAN con un sistema de archivos 'compartida' como GFS, o una base de datos), debe activarlo sticky sessions que cuentan el enrutador con el que cada cliente elegirá un servidor para comunicarse por primera vez, y se mantendrá con ese servidor. Esto es menos tolerante a fallas (pero en la web solo tendrá que actualizar una conexión interrumpida para comenzar de nuevo) pero mucho más fácil de diseñar (y más rápido ya que cada servidor web puede permanecer independiente)

El otro problema es que ' La necesidad de una situación verdaderamente tolerante a los fallos es ubicar los servidores físicos lejos el uno del otro, lo que plantea problemas de rendimiento para la mayoría de los diseños compartidos (es decir, no se pueden poner todos los servidores en una SAN si están en diferentes países). utilizar el enfoque de servidores múltiples, usar un único nombre DNS y replicar los datos entre ellos regularmente. DNS load balancing es posiblemente la forma más fácil de usar múltiples servidores web como un único sitio web. En estos casos, la base de datos suele ser una única base de datos con la que todos los servidores se comunican o se pueden compartir usando clustering o más a menudo log-shipping para asegurarse de tener una copia de seguridad lista para conectarse en caso de falla primaria. . El envío de registros es más común para servidores de respaldo que están ubicados lejos.

Cuestiones relacionadas