Balanceo de carga en pruebas

Hace unos momentos pusimos en marcha un segundo servidor para balancear la carga del servidor web. No era estrictamente necesario pero algún día teníamos que probarlo, el lunes son los días de mayor tráfico por lo que lo pusimos en marcha el domingo a la noche para que afectase a menos gente.

Durante unos minutos hubieron unos problemas de “no tiene permiso”. Esto se debía a problemas con el NFS y la resolución de nombre de las IP del segundo servidor. Es un glicth del /etc/exports del NFS [*], pero la culpa fue mía por no saberlo antes y hacer todas las pruebas posibles antes de cambios en el DNS :-(

Ya está arreglado y ajustado, esperamos que no se vuelva a repetir.  Perdón a los que lo notaron.

[*] Si en el /etc/exports especificas direcciones IP (del tipo 192.168.0.*) pero la dirección del cliente tiene resolución inversa entonces no la usa, sólo busca por el nombre. He tenido que poner ambos casos (*private.meneame.net y *private) por las dudas, para que no vuelva a suceder si modificamos el DNS o el /etc/hosts.

About these ads

16 pensamientos en “Balanceo de carga en pruebas

  1. Adrián

    Pues estaría bien que explicaráis la estructura que habéis utilizado :P. Menéame va muy bien, y con la IP nueva (esa que termina en …8) carga tambié bastante rápido…

    Responder
  2. gallir Autor de la entrada

    Adrián:

    Es muy sencilla, y el software ya está preparado para hacerlo.

    La bbdd está centralizada y puedes tener todos los servidores webs que quieras. Ahora lo hacemos por round-robin del DNS (el haproxy es una muy buena opción para mejorar), los ficheros del software y cache de imágenes están compartidos por NFS.

    Responder
  3. Adrián

    Es decir, hay dos servidores idénticos (con un master que además comparte el directorio web). El “esclavo” o el segundo servidor sería otro que tiene también MySQL y una réplica en tiempo real de los ficheros. Si es así, es muy sencillo pero también muy eficaz. Tomo nota :P

    Responder
  4. Jordi

    Cuando dices que la bbdd está centralizada ¿todos los servidores web atacan a mismo MySQL o hay un MySQL slave para cada servidor web como dice Adrián?

    Responder
  5. gallir Autor de la entrada

    La BBDD está replicada, pero la reṕlica la usamos para procesamiento “off line” (detección de clones, abusos, etc.) Las consultas web van todas al mismo servidor de mysql.

    Responder
  6. Luis

    Enhorabuena y bienvenido al maravilloso mundo del balanceo de carga :)
    No decis como haceis el balanceo de carga, pero si hablais de DNS, me imagino que sea un DNS round robin no?

    Responder
  7. Joan

    Por curiosidad. ¿Tenéis los dedicados en el mismo centro de datos? Supongo que seria ideal tenerlos en diferentes por ejemplo uno en España y otro en USA.

    Aunque debe ser mas costoso y supongo que la sincronización debe tener un consumo de ancho de banda muy grande. ¿Me equivoco?

    Saludos a todos.

    Responder
  8. Albert

    El balanceo de DNS está muy bién, ahunque yo haria que cada servidor web atacase a réplicas diferentes de la bd, y mantener una master donde se harian solo los inserts y updates. El problema es que los cambios (votos, comentarios, etc…) no aparecerian en “tiempo real” en el web… es por eso supongo que haceis que los dos servers ataquen a la misma bd master :)

    buena suerte!

    Albert,

    Responder

Deja un comentario

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s