[CentOS-es] Como sincronizar servidores web

2014-04-08 Por tema Rodolfo Edgar
Hola lista, mi pregunta es cómo sincronizar no sé si será la palabra
correcta, pero lo que quiero es saber cómo hacer que dos o más
servidores webs acepten peticiones según el tráfico, por ejemplo el
servidor 1 esta procesando datos y tiene mucha carga, el servidor 2
debe actuar como ayuda y también aceptar peticiones, el detalle es que
se usa base de datos en un servidor y programción en php (supongo que
los scripts php habrá que poner o estar en todos los servidores), no
sé cómo podría hacer eso, estuve mirando algo en internet sobre rsync,
pero más hablan sobre archivos.
También había oído antes que eso se podría hacer con ntfs algo asi,
pero no dieron detalles de cómo se podrían compartir datos de forma
automática, que unos usuarios esten conectados a un servidor
ingresando datos a una base de datos y otro servidor web ayude también
haciendo lo mismo y escribiendo en alguna base de datos común.
También dijeron que era algo similar a balanceo de carga, pero esa vez
que vi un tutorial solo se hacia con datos estaticos, osea html, nada
de programación y base de datos, ahí fue que escuché que hay que
compartir de alguna manera con ntfs y no sé que más, estoy un poco
falto es esa situación me podrían orientar amigos? de antemano les
agradezco que me den pistas, se despide su amigo Edgar bye!
___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Re: [CentOS-es] Como sincronizar servidores web

2014-04-08 Por tema Francesc Guitart
El 08/04/2014 10:19, Rodolfo Edgar escribió:
 Hola lista, mi pregunta es cómo sincronizar no sé si será la palabra
 correcta, pero lo que quiero es saber cómo hacer que dos o más
 servidores webs acepten peticiones según el tráfico, por ejemplo el
 servidor 1 esta procesando datos y tiene mucha carga, el servidor 2
 debe actuar como ayuda y también aceptar peticiones, el detalle es que
 se usa base de datos en un servidor y programción en php (supongo que
 los scripts php habrá que poner o estar en todos los servidores), no
 sé cómo podría hacer eso, estuve mirando algo en internet sobre rsync,
 pero más hablan sobre archivos.
 También había oído antes que eso se podría hacer con ntfs algo asi,
 pero no dieron detalles de cómo se podrían compartir datos de forma
 automática, que unos usuarios esten conectados a un servidor
 ingresando datos a una base de datos y otro servidor web ayude también
 haciendo lo mismo y escribiendo en alguna base de datos común.
 También dijeron que era algo similar a balanceo de carga, pero esa vez
 que vi un tutorial solo se hacia con datos estaticos, osea html, nada
 de programación y base de datos, ahí fue que escuché que hay que
 compartir de alguna manera con ntfs y no sé que más, estoy un poco
 falto es esa situación me podrían orientar amigos? de antemano les
 agradezco que me den pistas, se despide su amigo Edgar bye!

Lo que tu quieres es balanceo de carga. Se puede hacer de diferentes 
maneras, depende del presupuesto y de la carga que vaya a tener la web.

Una manera sencilla es hacerlo por DNS. Necesitarás dos servidores para 
la web (sincroniza los archivos de la web por NFS, GlusterFS o DRBD) y 
otro para la base de datos (esta en el servidor más potente ya que será 
atacada por los servidores web). Luego creas dos registros DNS con el 
mismo nombre pero que apuntan a cada uno de los dos servidores web:

www.ejemplo.com  10.111.123.120
www.ejemplo.com  10.111.123.121

El servidor DNS alternará sus respuestas con cada petición que reciba. 
No es el mejor método pero sirve. Cuando un servidor caiga tendrás un 
pequeño timeout y finalmente saltará al que está funcionando. Para 
solucionar esto implementa Hearbeat entre los dos servidores web para 
que cuando uno caiga el otro coja momentáneamente la IP del caído.

Otra solución para ahorrarte el tercer servidor (el de la base de datos) 
es configurar MySQL en modo replicación y poner en un servidor web el 
master de MySQL y en el otro el slave.

Finalmente también podrías añadir un proxy http (idealmente nginx) antes 
de los servidores web para balancear la carga. De paso acelerarías el 
tráfico ya que también haría de proxy. Para sitios con mucha carga este 
paso opcional sería deseable e incluso imprescindible.

Saludos.


-- 
Francesc Guitart
___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Re: [CentOS-es] Como sincronizar servidores web

2014-04-08 Por tema César C .
yo uso LVS DR y sin problemas... :)  

 Date: Tue, 8 Apr 2014 18:41:45 +0200
 From: fguit...@gmx.com
 To: centos-es@centos.org
 Subject: Re: [CentOS-es] Como sincronizar servidores web
 
 El 08/04/2014 10:19, Rodolfo Edgar escribió:
  Hola lista, mi pregunta es cómo sincronizar no sé si será la palabra
  correcta, pero lo que quiero es saber cómo hacer que dos o más
  servidores webs acepten peticiones según el tráfico, por ejemplo el
  servidor 1 esta procesando datos y tiene mucha carga, el servidor 2
  debe actuar como ayuda y también aceptar peticiones, el detalle es que
  se usa base de datos en un servidor y programción en php (supongo que
  los scripts php habrá que poner o estar en todos los servidores), no
  sé cómo podría hacer eso, estuve mirando algo en internet sobre rsync,
  pero más hablan sobre archivos.
  También había oído antes que eso se podría hacer con ntfs algo asi,
  pero no dieron detalles de cómo se podrían compartir datos de forma
  automática, que unos usuarios esten conectados a un servidor
  ingresando datos a una base de datos y otro servidor web ayude también
  haciendo lo mismo y escribiendo en alguna base de datos común.
  También dijeron que era algo similar a balanceo de carga, pero esa vez
  que vi un tutorial solo se hacia con datos estaticos, osea html, nada
  de programación y base de datos, ahí fue que escuché que hay que
  compartir de alguna manera con ntfs y no sé que más, estoy un poco
  falto es esa situación me podrían orientar amigos? de antemano les
  agradezco que me den pistas, se despide su amigo Edgar bye!
 
 Lo que tu quieres es balanceo de carga. Se puede hacer de diferentes 
 maneras, depende del presupuesto y de la carga que vaya a tener la web.
 
 Una manera sencilla es hacerlo por DNS. Necesitarás dos servidores para 
 la web (sincroniza los archivos de la web por NFS, GlusterFS o DRBD) y 
 otro para la base de datos (esta en el servidor más potente ya que será 
 atacada por los servidores web). Luego creas dos registros DNS con el 
 mismo nombre pero que apuntan a cada uno de los dos servidores web:
 
 www.ejemplo.com  10.111.123.120
 www.ejemplo.com  10.111.123.121
 
 El servidor DNS alternará sus respuestas con cada petición que reciba. 
 No es el mejor método pero sirve. Cuando un servidor caiga tendrás un 
 pequeño timeout y finalmente saltará al que está funcionando. Para 
 solucionar esto implementa Hearbeat entre los dos servidores web para 
 que cuando uno caiga el otro coja momentáneamente la IP del caído.
 
 Otra solución para ahorrarte el tercer servidor (el de la base de datos) 
 es configurar MySQL en modo replicación y poner en un servidor web el 
 master de MySQL y en el otro el slave.
 
 Finalmente también podrías añadir un proxy http (idealmente nginx) antes 
 de los servidores web para balancear la carga. De paso acelerarías el 
 tráfico ya que también haría de proxy. Para sitios con mucha carga este 
 paso opcional sería deseable e incluso imprescindible.
 
 Saludos.
 
 
 -- 
 Francesc Guitart
 ___
 CentOS-es mailing list
 CentOS-es@centos.org
 http://lists.centos.org/mailman/listinfo/centos-es
  
___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es