[Info] Ventajas de Round Robin sobre NLB

04/02/2004 - 19:38 por Javier Inglés [MS MVP] | Informe spam
A la hora de hacer una granja de servidores Web (es decir, varios servidores web sirviendo las mismas páginas o el mismo contenido mediante una sistema de balanceo) podemos optar generalmente por 3 opciones:

1.-Balanceador físico
2.-NLB
3.-Software de terceros para repartir carga entre los nodos

Hay veces incluso que se opta por monar un MSCS de IIS ó FTP, pero para una granja de servidores como tal lo más normal son los puntos anteriores. O incluso hacer algún desarrollo intero para ofrecer dicha posibilidad, pero lo más común es lo anterior

Sin duda, la primera opción sueñe ser la más cara pero suele ser la mejor opción -depende del balanceador, pero al estar hecho todo vía hardware se ofrecen posibilidad y opciones más robustas-
La tercera opción ya depende también del fabricante del producto y como lo implemente.
No voy a comenar mucho estas opciones porque no las incorpora el propio sistema que es donde me quiero centrar

Microsoft ofrece una forma de hacerlo mediante NLB que permite hasta 36 nodos (que se pueden ampliar en W2K3 con los anillos), el cual funciona básicamente así:

imaginemos que tenemos 3 servidores Web configurados por NLB para repartirse la carga; éste revisa qué servidor está más saturado o cuál menos, y en base a ello pasa la petición a un nodo u otro según la carga de éstos.
Si un nodo cae, el NLB lo detecta y deja de enviarle peticiones hasta que lo vuelve a ver arrancado.
Esto es a groso modo el funcionamiento simple de él.

NLB tiene un fallo; si el IIS cae (el IIS o cualquier servicio Web), éste no se entera...es decir, para dejar de repartir carga en ese nodo, éste debe estar apagado o caído, pero si cae el IIS intentará seguir pasándole peticiones (ya que no ve al server caído). Resultado: habrá peticones que acaben en error.

Por ello se puede pensar a veces en una solución alternativa para ello: el Round Robin por DNS

El Round Robin funciona del sigueinte modo: un mismo nombre en el dominio tiene asigandas varias entradas con distintas IP's; por ejemplo:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un cliente hace una petición a www.dominio.elquesea, el servidor DNS le pasa como respuesta las 3 entradas así:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un segundo cliente hace la misma petición después, el DNS se lo pasa así:

www-->192.168.0.3
www-->192.168.0.1
www-->192.168.0.2

Y si lo hace un tercero:

www-->192.168.0.2
www-->192.168.0.3
www-->192.168.0.1

Es decir, va cambiando el orden de preferencia de resolución para balancear la carga ante las peticiones.

Así, el primer cliente mira la respuesta y dice, voy a probar a conectar a www.dominio.elquesea por la IP 192.168.0.1, el segundo lo mismo pero con la 192.168.0.2 y el tercero con la 192.168.0.3, de este modo se balancea la carga también.

Pero es que además ocurre lo siguiente; si el primer cliente puede conectar con el servidor web por la 192.168.0.1 perfecto, usará siempre que pueda esta IP para coenctar a él y poder acceder al sitio web; pero, si el web server (que ni siquiera el servidor) está caído o parado por alguna causa, el lciente intenta conectar por la 192.168.0.1 por http...y ve que no hay respuesta; en vez de arrojar un fallo mira su caché DNS y decir...coñe!! si tengo más IP's que puedo usar para conectar a "www", y es entonces cuando vuelve a lanzar la petición http a la IP siguiente, en su caso la 192.168.0.2

Y así con todos los clientes; cuando el TTL de los registros DNS caduquen (por defecto en DNS de MS es 1 hora), se repite el proceso y el cliente volverá a pedir una resolución de nombres para "www", y puede o no, como es evidente, que se le devuelva en el anterior orden que tuvo o que haya cambiado por el balanceo :-)

Sin embargo la pega de ésto puede ser que en un momento determinado se quiera sacar unservidor del Round Robin por el motivo que sea y las estaciones cliente que ya tiene resuelto ese nombre con ese servidor incluido no se enteren hasta que les expire la caché DNS y vuelvan a solicitar el servidor DNS la resolución de nombre, por lo que puede llevar a demoras o a que ciertas aplicaciones fallen en ese momento :-(

De echo, ésto es lo más normal de usar e implementar en Internet, pudiendo ser después las IP's que se resuelven balanceadores físicos, por ejemplo.
Y como ejemplo calro, un equipo conectado a internet, si hace un nslookup para ver cómo se resuelve el dominio www.microsoft.com podrá ver la multitud de IP's que hay y que se "balancean" por Round Robin en los servidores DNS.

Un saludo

Javier Inglés
MS-MVP

e-m@il:jjingles2000@NOSPAMhotmail.com
<<<QUITAR "NOSPAM" PARA MANDAR MAIL>>>

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho

Preguntas similare

Leer las respuestas

#1 Ramon Jiménez
04/02/2004 - 22:45 | Informe spam
Si el señor Inglés me lo permite sólo una par de puntualizaciones...kuñao
:-)

1) De acuerdo en que los Balanceadores hardware son la mejor opción pero la
funcionalidad de balanceo la da el Software que lleve instalado (lease IOS
de Cisco, etc). Quiero decir que no deja de ser un elemento software el que
analiza los paquetes para determinar el servidor destino.

2) NLB hasta 32 nodos (no 36)

El resto... impecable...

Saludos
Ramon (desde Basilea)
"Javier Inglés [MS MVP]" wrote in message
news:
A la hora de hacer una granja de servidores Web (es decir, varios servidores
web sirviendo las mismas páginas o el mismo contenido mediante una sistema
de balanceo) podemos optar generalmente por 3 opciones:

1.-Balanceador físico
2.-NLB
3.-Software de terceros para repartir carga entre los nodos

Hay veces incluso que se opta por monar un MSCS de IIS ó FTP, pero para una
granja de servidores como tal lo más normal son los puntos anteriores. O
incluso hacer algún desarrollo intero para ofrecer dicha posibilidad, pero
lo más común es lo anterior

Sin duda, la primera opción sueñe ser la más cara pero suele ser la mejor
opción -depende del balanceador, pero al estar hecho todo vía hardware se
ofrecen posibilidad y opciones más robustas-
La tercera opción ya depende también del fabricante del producto y como lo
implemente.
No voy a comenar mucho estas opciones porque no las incorpora el propio
sistema que es donde me quiero centrar

Microsoft ofrece una forma de hacerlo mediante NLB que permite hasta 36
nodos (que se pueden ampliar en W2K3 con los anillos), el cual funciona
básicamente así:

imaginemos que tenemos 3 servidores Web configurados por NLB para repartirse
la carga; éste revisa qué servidor está más saturado o cuál menos, y en base
a ello pasa la petición a un nodo u otro según la carga de éstos.
Si un nodo cae, el NLB lo detecta y deja de enviarle peticiones hasta que lo
vuelve a ver arrancado.
Esto es a groso modo el funcionamiento simple de él.

NLB tiene un fallo; si el IIS cae (el IIS o cualquier servicio Web), éste no
se entera...es decir, para dejar de repartir carga en ese nodo, éste debe
estar apagado o caído, pero si cae el IIS intentará seguir pasándole
peticiones (ya que no ve al server caído). Resultado: habrá peticones que
acaben en error.

Por ello se puede pensar a veces en una solución alternativa para ello: el
Round Robin por DNS

El Round Robin funciona del sigueinte modo: un mismo nombre en el dominio
tiene asigandas varias entradas con distintas IP's; por ejemplo:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un cliente hace una petición a www.dominio.elquesea, el servidor DNS le
pasa como respuesta las 3 entradas así:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un segundo cliente hace la misma petición después, el DNS se lo pasa así:

www-->192.168.0.3
www-->192.168.0.1
www-->192.168.0.2

Y si lo hace un tercero:

www-->192.168.0.2
www-->192.168.0.3
www-->192.168.0.1

Es decir, va cambiando el orden de preferencia de resolución para balancear
la carga ante las peticiones.

Así, el primer cliente mira la respuesta y dice, voy a probar a conectar a
www.dominio.elquesea por la IP 192.168.0.1, el segundo lo mismo pero con la
192.168.0.2 y el tercero con la 192.168.0.3, de este modo se balancea la
carga también.

Pero es que además ocurre lo siguiente; si el primer cliente puede conectar
con el servidor web por la 192.168.0.1 perfecto, usará siempre que pueda
esta IP para coenctar a él y poder acceder al sitio web; pero, si el web
server (que ni siquiera el servidor) está caído o parado por alguna causa,
el lciente intenta conectar por la 192.168.0.1 por http...y ve que no hay
respuesta; en vez de arrojar un fallo mira su caché DNS y decir...coñe!! si
tengo más IP's que puedo usar para conectar a "www", y es entonces cuando
vuelve a lanzar la petición http a la IP siguiente, en su caso la
192.168.0.2

Y así con todos los clientes; cuando el TTL de los registros DNS caduquen
(por defecto en DNS de MS es 1 hora), se repite el proceso y el cliente
volverá a pedir una resolución de nombres para "www", y puede o no, como es
evidente, que se le devuelva en el anterior orden que tuvo o que haya
cambiado por el balanceo :-)

Sin embargo la pega de ésto puede ser que en un momento determinado se
quiera sacar unservidor del Round Robin por el motivo que sea y las
estaciones cliente que ya tiene resuelto ese nombre con ese servidor
incluido no se enteren hasta que les expire la caché DNS y vuelvan a
solicitar el servidor DNS la resolución de nombre, por lo que puede llevar a
demoras o a que ciertas aplicaciones fallen en ese momento :-(

De echo, ésto es lo más normal de usar e implementar en Internet, pudiendo
ser después las IP's que se resuelven balanceadores físicos, por ejemplo.
Y como ejemplo calro, un equipo conectado a internet, si hace un nslookup
para ver cómo se resuelve el dominio www.microsoft.com podrá ver la multitud
de IP's que hay y que se "balancean" por Round Robin en los servidores DNS.

Un saludo

Javier Inglés
MS-MVP

:
<<<QUITAR "NOSPAM" PARA MANDAR MAIL>>>

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho
Respuesta Responder a este mensaje
#2 Fernando Reyes [MS MVP]
04/02/2004 - 22:50 | Informe spam
Muchas gracias, socio, muy buen artículo. Sólo he echado en falta esta
desventaja de Round Robin frente al balanceo de carga: en determinados
sitios web, se pueden producir peticiones a páginas que requieran mucha
carga del servidor (muchos gráficos en una página, etc.) y peticiones a
otras que no requieran carga apenas (texto plano), con Round Robin se puede
producir el caso de que un solo servidor se vea en la tesitura de que le
toquen la mayoría de peticiones a la página pesada, de forma que tienes un
servidor j*d*d* de trabajo y dos silbando y rascándose la barriga (en el
caso de tener tres servidores para el sitio).

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000

(Deja de hacer el caniche para escribirme)


"Javier Inglés [MS MVP]" escribió en
el mensaje news:
A la hora de hacer una granja de servidores Web (es decir, varios
servidores web sirviendo las mismas páginas o el mismo contenido
mediante una sistema de balanceo) podemos optar generalmente por 3
opciones:

1.-Balanceador físico
2.-NLB
3.-Software de terceros para repartir carga entre los nodos

Hay veces incluso que se opta por monar un MSCS de IIS ó FTP, pero
para una granja de servidores como tal lo más normal son los puntos
anteriores. O incluso hacer algún desarrollo intero para ofrecer
dicha posibilidad, pero lo más común es lo anterior

Sin duda, la primera opción sueñe ser la más cara pero suele ser la
mejor opción -depende del balanceador, pero al estar hecho todo vía
hardware se ofrecen posibilidad y opciones más robustas-
La tercera opción ya depende también del fabricante del producto y
como lo implemente.
No voy a comenar mucho estas opciones porque no las incorpora el
propio sistema que es donde me quiero centrar

Microsoft ofrece una forma de hacerlo mediante NLB que permite hasta
36 nodos (que se pueden ampliar en W2K3 con los anillos), el cual
funciona básicamente así:

imaginemos que tenemos 3 servidores Web configurados por NLB para
repartirse la carga; éste revisa qué servidor está más saturado o
cuál menos, y en base a ello pasa la petición a un nodo u otro según
la carga de éstos.
Si un nodo cae, el NLB lo detecta y deja de enviarle peticiones hasta
que lo vuelve a ver arrancado.
Esto es a groso modo el funcionamiento simple de él.

NLB tiene un fallo; si el IIS cae (el IIS o cualquier servicio Web),
éste no se entera...es decir, para dejar de repartir carga en ese
nodo, éste debe estar apagado o caído, pero si cae el IIS intentará
seguir pasándole peticiones (ya que no ve al server caído).
Resultado: habrá peticones que acaben en error.

Por ello se puede pensar a veces en una solución alternativa para
ello: el Round Robin por DNS

El Round Robin funciona del sigueinte modo: un mismo nombre en el
dominio tiene asigandas varias entradas con distintas IP's; por
ejemplo:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un cliente hace una petición a www.dominio.elquesea, el servidor
DNS le pasa como respuesta las 3 entradas así:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un segundo cliente hace la misma petición después, el DNS se lo
pasa así:

www-->192.168.0.3
www-->192.168.0.1
www-->192.168.0.2

Y si lo hace un tercero:

www-->192.168.0.2
www-->192.168.0.3
www-->192.168.0.1

Es decir, va cambiando el orden de preferencia de resolución para
balancear la carga ante las peticiones.

Así, el primer cliente mira la respuesta y dice, voy a probar a
conectar a www.dominio.elquesea por la IP 192.168.0.1, el segundo lo
mismo pero con la 192.168.0.2 y el tercero con la 192.168.0.3, de
este modo se balancea la carga también.

Pero es que además ocurre lo siguiente; si el primer cliente puede
conectar con el servidor web por la 192.168.0.1 perfecto, usará
siempre que pueda esta IP para coenctar a él y poder acceder al sitio
web; pero, si el web server (que ni siquiera el servidor) está caído
o parado por alguna causa, el lciente intenta conectar por la
192.168.0.1 por http...y ve que no hay respuesta; en vez de arrojar
un fallo mira su caché DNS y decir...coñe!! si tengo más IP's que
puedo usar para conectar a "www", y es entonces cuando vuelve a
lanzar la petición http a la IP siguiente, en su caso la 192.168.0.2

Y así con todos los clientes; cuando el TTL de los registros DNS
caduquen (por defecto en DNS de MS es 1 hora), se repite el proceso y
el cliente volverá a pedir una resolución de nombres para "www", y
puede o no, como es evidente, que se le devuelva en el anterior orden
que tuvo o que haya cambiado por el balanceo :-)

Sin embargo la pega de ésto puede ser que en un momento determinado
se quiera sacar unservidor del Round Robin por el motivo que sea y
las estaciones cliente que ya tiene resuelto ese nombre con ese
servidor incluido no se enteren hasta que les expire la caché DNS y
vuelvan a solicitar el servidor DNS la resolución de nombre, por lo
que puede llevar a demoras o a que ciertas aplicaciones fallen en ese
momento :-(

De echo, ésto es lo más normal de usar e implementar en Internet,
pudiendo ser después las IP's que se resuelven balanceadores
físicos, por ejemplo.
Y como ejemplo calro, un equipo conectado a internet, si hace un
nslookup para ver cómo se resuelve el dominio www.microsoft.com podrá
ver la multitud de IP's que hay y que se "balancean" por Round Robin
en los servidores DNS.

Un saludo
Respuesta Responder a este mensaje
#3 Javier Inglés [MS MVP]
04/02/2004 - 22:56 | Informe spam
Gracias qñaaaaaaaaaaaaoooo!!!

Como siempre, tus puntualizaciones son muy bien recibidas y anotadas, un saludo muy fuerte :-)

Javier Inglés
MS-MVP

:
<<<QUITAR "NOSPAM" PARA MANDAR MAIL>>>

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho


"Ramon Jiménez" escribió en el mensaje news:%
Si el señor Inglés me lo permite sólo una par de puntualizaciones...kuñao
:-)

1) De acuerdo en que los Balanceadores hardware son la mejor opción pero la
funcionalidad de balanceo la da el Software que lleve instalado (lease IOS
de Cisco, etc). Quiero decir que no deja de ser un elemento software el que
analiza los paquetes para determinar el servidor destino.

2) NLB hasta 32 nodos (no 36)

El resto... impecable...

Saludos
Ramon (desde Basilea)
"Javier Inglés [MS MVP]" wrote in message
news:
A la hora de hacer una granja de servidores Web (es decir, varios servidores
web sirviendo las mismas páginas o el mismo contenido mediante una sistema
de balanceo) podemos optar generalmente por 3 opciones:

1.-Balanceador físico
2.-NLB
3.-Software de terceros para repartir carga entre los nodos

Hay veces incluso que se opta por monar un MSCS de IIS ó FTP, pero para una
granja de servidores como tal lo más normal son los puntos anteriores. O
incluso hacer algún desarrollo intero para ofrecer dicha posibilidad, pero
lo más común es lo anterior

Sin duda, la primera opción sueñe ser la más cara pero suele ser la mejor
opción -depende del balanceador, pero al estar hecho todo vía hardware se
ofrecen posibilidad y opciones más robustas-
La tercera opción ya depende también del fabricante del producto y como lo
implemente.
No voy a comenar mucho estas opciones porque no las incorpora el propio
sistema que es donde me quiero centrar

Microsoft ofrece una forma de hacerlo mediante NLB que permite hasta 36
nodos (que se pueden ampliar en W2K3 con los anillos), el cual funciona
básicamente así:

imaginemos que tenemos 3 servidores Web configurados por NLB para repartirse
la carga; éste revisa qué servidor está más saturado o cuál menos, y en base
a ello pasa la petición a un nodo u otro según la carga de éstos.
Si un nodo cae, el NLB lo detecta y deja de enviarle peticiones hasta que lo
vuelve a ver arrancado.
Esto es a groso modo el funcionamiento simple de él.

NLB tiene un fallo; si el IIS cae (el IIS o cualquier servicio Web), éste no
se entera...es decir, para dejar de repartir carga en ese nodo, éste debe
estar apagado o caído, pero si cae el IIS intentará seguir pasándole
peticiones (ya que no ve al server caído). Resultado: habrá peticones que
acaben en error.

Por ello se puede pensar a veces en una solución alternativa para ello: el
Round Robin por DNS

El Round Robin funciona del sigueinte modo: un mismo nombre en el dominio
tiene asigandas varias entradas con distintas IP's; por ejemplo:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un cliente hace una petición a www.dominio.elquesea, el servidor DNS le
pasa como respuesta las 3 entradas así:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un segundo cliente hace la misma petición después, el DNS se lo pasa así:

www-->192.168.0.3
www-->192.168.0.1
www-->192.168.0.2

Y si lo hace un tercero:

www-->192.168.0.2
www-->192.168.0.3
www-->192.168.0.1

Es decir, va cambiando el orden de preferencia de resolución para balancear
la carga ante las peticiones.

Así, el primer cliente mira la respuesta y dice, voy a probar a conectar a
www.dominio.elquesea por la IP 192.168.0.1, el segundo lo mismo pero con la
192.168.0.2 y el tercero con la 192.168.0.3, de este modo se balancea la
carga también.

Pero es que además ocurre lo siguiente; si el primer cliente puede conectar
con el servidor web por la 192.168.0.1 perfecto, usará siempre que pueda
esta IP para coenctar a él y poder acceder al sitio web; pero, si el web
server (que ni siquiera el servidor) está caído o parado por alguna causa,
el lciente intenta conectar por la 192.168.0.1 por http...y ve que no hay
respuesta; en vez de arrojar un fallo mira su caché DNS y decir...coñe!! si
tengo más IP's que puedo usar para conectar a "www", y es entonces cuando
vuelve a lanzar la petición http a la IP siguiente, en su caso la
192.168.0.2

Y así con todos los clientes; cuando el TTL de los registros DNS caduquen
(por defecto en DNS de MS es 1 hora), se repite el proceso y el cliente
volverá a pedir una resolución de nombres para "www", y puede o no, como es
evidente, que se le devuelva en el anterior orden que tuvo o que haya
cambiado por el balanceo :-)

Sin embargo la pega de ésto puede ser que en un momento determinado se
quiera sacar unservidor del Round Robin por el motivo que sea y las
estaciones cliente que ya tiene resuelto ese nombre con ese servidor
incluido no se enteren hasta que les expire la caché DNS y vuelvan a
solicitar el servidor DNS la resolución de nombre, por lo que puede llevar a
demoras o a que ciertas aplicaciones fallen en ese momento :-(

De echo, ésto es lo más normal de usar e implementar en Internet, pudiendo
ser después las IP's que se resuelven balanceadores físicos, por ejemplo.
Y como ejemplo calro, un equipo conectado a internet, si hace un nslookup
para ver cómo se resuelve el dominio www.microsoft.com podrá ver la multitud
de IP's que hay y que se "balancean" por Round Robin en los servidores DNS.

Un saludo

Javier Inglés
MS-MVP

:
<<<QUITAR "NOSPAM" PARA MANDAR MAIL>>>

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho



Respuesta Responder a este mensaje
#4 Javier Inglés [MS MVP]
04/02/2004 - 22:58 | Informe spam
Cierto también socio :-), pero eso ya depende de la petición del usuario, con u nbalanceador se puede llegar a dar el caso también ;-)

Salu2!!

Javier Inglés
MS-MVP

:
<<<QUITAR "NOSPAM" PARA MANDAR MAIL>>>

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho


"Fernando Reyes [MS MVP]" escribió en el mensaje news:
Muchas gracias, socio, muy buen artículo. Sólo he echado en falta esta
desventaja de Round Robin frente al balanceo de carga: en determinados
sitios web, se pueden producir peticiones a páginas que requieran mucha
carga del servidor (muchos gráficos en una página, etc.) y peticiones a
otras que no requieran carga apenas (texto plano), con Round Robin se puede
producir el caso de que un solo servidor se vea en la tesitura de que le
toquen la mayoría de peticiones a la página pesada, de forma que tienes un
servidor j*d*d* de trabajo y dos silbando y rascándose la barriga (en el
caso de tener tres servidores para el sitio).

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000

(Deja de hacer el caniche para escribirme)


"Javier Inglés [MS MVP]" escribió en
el mensaje news:
> A la hora de hacer una granja de servidores Web (es decir, varios
> servidores web sirviendo las mismas páginas o el mismo contenido
> mediante una sistema de balanceo) podemos optar generalmente por 3
> opciones:
>
> 1.-Balanceador físico
> 2.-NLB
> 3.-Software de terceros para repartir carga entre los nodos
>
> Hay veces incluso que se opta por monar un MSCS de IIS ó FTP, pero
> para una granja de servidores como tal lo más normal son los puntos
> anteriores. O incluso hacer algún desarrollo intero para ofrecer
> dicha posibilidad, pero lo más común es lo anterior
>
> Sin duda, la primera opción sueñe ser la más cara pero suele ser la
> mejor opción -depende del balanceador, pero al estar hecho todo vía
> hardware se ofrecen posibilidad y opciones más robustas-
> La tercera opción ya depende también del fabricante del producto y
> como lo implemente.
> No voy a comenar mucho estas opciones porque no las incorpora el
> propio sistema que es donde me quiero centrar
>
> Microsoft ofrece una forma de hacerlo mediante NLB que permite hasta
> 36 nodos (que se pueden ampliar en W2K3 con los anillos), el cual
> funciona básicamente así:
>
> imaginemos que tenemos 3 servidores Web configurados por NLB para
> repartirse la carga; éste revisa qué servidor está más saturado o
> cuál menos, y en base a ello pasa la petición a un nodo u otro según
> la carga de éstos.
> Si un nodo cae, el NLB lo detecta y deja de enviarle peticiones hasta
> que lo vuelve a ver arrancado.
> Esto es a groso modo el funcionamiento simple de él.
>
> NLB tiene un fallo; si el IIS cae (el IIS o cualquier servicio Web),
> éste no se entera...es decir, para dejar de repartir carga en ese
> nodo, éste debe estar apagado o caído, pero si cae el IIS intentará
> seguir pasándole peticiones (ya que no ve al server caído).
> Resultado: habrá peticones que acaben en error.
>
> Por ello se puede pensar a veces en una solución alternativa para
> ello: el Round Robin por DNS
>
> El Round Robin funciona del sigueinte modo: un mismo nombre en el
> dominio tiene asigandas varias entradas con distintas IP's; por
> ejemplo:
>
> www-->192.168.0.1
> www-->192.168.0.2
> www-->192.168.0.3
>
> Si un cliente hace una petición a www.dominio.elquesea, el servidor
> DNS le pasa como respuesta las 3 entradas así:
>
> www-->192.168.0.1
> www-->192.168.0.2
> www-->192.168.0.3
>
> Si un segundo cliente hace la misma petición después, el DNS se lo
> pasa así:
>
> www-->192.168.0.3
> www-->192.168.0.1
> www-->192.168.0.2
>
> Y si lo hace un tercero:
>
> www-->192.168.0.2
> www-->192.168.0.3
> www-->192.168.0.1
>
> Es decir, va cambiando el orden de preferencia de resolución para
> balancear la carga ante las peticiones.
>
> Así, el primer cliente mira la respuesta y dice, voy a probar a
> conectar a www.dominio.elquesea por la IP 192.168.0.1, el segundo lo
> mismo pero con la 192.168.0.2 y el tercero con la 192.168.0.3, de
> este modo se balancea la carga también.
>
> Pero es que además ocurre lo siguiente; si el primer cliente puede
> conectar con el servidor web por la 192.168.0.1 perfecto, usará
> siempre que pueda esta IP para coenctar a él y poder acceder al sitio
> web; pero, si el web server (que ni siquiera el servidor) está caído
> o parado por alguna causa, el lciente intenta conectar por la
> 192.168.0.1 por http...y ve que no hay respuesta; en vez de arrojar
> un fallo mira su caché DNS y decir...coñe!! si tengo más IP's que
> puedo usar para conectar a "www", y es entonces cuando vuelve a
> lanzar la petición http a la IP siguiente, en su caso la 192.168.0.2
>
> Y así con todos los clientes; cuando el TTL de los registros DNS
> caduquen (por defecto en DNS de MS es 1 hora), se repite el proceso y
> el cliente volverá a pedir una resolución de nombres para "www", y
> puede o no, como es evidente, que se le devuelva en el anterior orden
> que tuvo o que haya cambiado por el balanceo :-)
>
> Sin embargo la pega de ésto puede ser que en un momento determinado
> se quiera sacar unservidor del Round Robin por el motivo que sea y
> las estaciones cliente que ya tiene resuelto ese nombre con ese
> servidor incluido no se enteren hasta que les expire la caché DNS y
> vuelvan a solicitar el servidor DNS la resolución de nombre, por lo
> que puede llevar a demoras o a que ciertas aplicaciones fallen en ese
> momento :-(
>
> De echo, ésto es lo más normal de usar e implementar en Internet,
> pudiendo ser después las IP's que se resuelven balanceadores
> físicos, por ejemplo.
> Y como ejemplo calro, un equipo conectado a internet, si hace un
> nslookup para ver cómo se resuelve el dominio www.microsoft.com podrá
> ver la multitud de IP's que hay y que se "balancean" por Round Robin
> en los servidores DNS.
>
> Un saludo

Respuesta Responder a este mensaje
#5 Fernando Reyes [MS MVP]
04/02/2004 - 23:05 | Informe spam
¿Pero el balanceador no encaminará la petición al servidor más desaogado?

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000
polí
(No tengas intereses económicos ocultos si quieres escribirme)


"Javier Inglés [MS MVP]" escribió en
el mensaje news:%
Cierto también socio :-), pero eso ya depende de la petición del
usuario, con u nbalanceador se puede llegar a dar el caso también ;-)

Salu2!!


"Fernando Reyes [MS MVP]"
escribió en el
mensaje news:
Muchas gracias, socio, muy buen artículo. Sólo he echado en falta
esta
desventaja de Round Robin frente al balanceo de carga: en
determinados
sitios web, se pueden producir peticiones a páginas que requieran
mucha
carga del servidor (muchos gráficos en una página, etc.) y
peticiones a
otras que no requieran carga apenas (texto plano), con Round Robin
se puede
producir el caso de que un solo servidor se vea en la tesitura de
que le
toquen la mayoría de peticiones a la página pesada, de forma que
tienes un
servidor j*d*d* de trabajo y dos silbando y rascándose la barriga
(en el
caso de tener tres servidores para el sitio).

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000

(Deja de hacer el caniche para escribirme)


"Javier Inglés [MS MVP]" escribió en
el mensaje news:
A la hora de hacer una granja de servidores Web (es decir, varios
servidores web sirviendo las mismas páginas o el mismo contenido
mediante una sistema de balanceo) podemos optar generalmente por 3
opciones:

1.-Balanceador físico
2.-NLB
3.-Software de terceros para repartir carga entre los nodos

Hay veces incluso que se opta por monar un MSCS de IIS ó FTP, pero
para una granja de servidores como tal lo más normal son los puntos
anteriores. O incluso hacer algún desarrollo intero para ofrecer
dicha posibilidad, pero lo más común es lo anterior

Sin duda, la primera opción sueñe ser la más cara pero suele ser la
mejor opción -depende del balanceador, pero al estar hecho todo vía
hardware se ofrecen posibilidad y opciones más robustas-
La tercera opción ya depende también del fabricante del producto y
como lo implemente.
No voy a comenar mucho estas opciones porque no las incorpora el
propio sistema que es donde me quiero centrar

Microsoft ofrece una forma de hacerlo mediante NLB que permite hasta
36 nodos (que se pueden ampliar en W2K3 con los anillos), el cual
funciona básicamente así:

imaginemos que tenemos 3 servidores Web configurados por NLB para
repartirse la carga; éste revisa qué servidor está más saturado o
cuál menos, y en base a ello pasa la petición a un nodo u otro según
la carga de éstos.
Si un nodo cae, el NLB lo detecta y deja de enviarle peticiones
hasta
que lo vuelve a ver arrancado.
Esto es a groso modo el funcionamiento simple de él.

NLB tiene un fallo; si el IIS cae (el IIS o cualquier servicio Web),
éste no se entera...es decir, para dejar de repartir carga en ese
nodo, éste debe estar apagado o caído, pero si cae el IIS intentará
seguir pasándole peticiones (ya que no ve al server caído).
Resultado: habrá peticones que acaben en error.

Por ello se puede pensar a veces en una solución alternativa para
ello: el Round Robin por DNS

El Round Robin funciona del sigueinte modo: un mismo nombre en el
dominio tiene asigandas varias entradas con distintas IP's; por
ejemplo:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un cliente hace una petición a www.dominio.elquesea, el servidor
DNS le pasa como respuesta las 3 entradas así:

www-->192.168.0.1
www-->192.168.0.2
www-->192.168.0.3

Si un segundo cliente hace la misma petición después, el DNS se lo
pasa así:

www-->192.168.0.3
www-->192.168.0.1
www-->192.168.0.2

Y si lo hace un tercero:

www-->192.168.0.2
www-->192.168.0.3
www-->192.168.0.1

Es decir, va cambiando el orden de preferencia de resolución para
balancear la carga ante las peticiones.

Así, el primer cliente mira la respuesta y dice, voy a probar a
conectar a www.dominio.elquesea por la IP 192.168.0.1, el segundo lo
mismo pero con la 192.168.0.2 y el tercero con la 192.168.0.3, de
este modo se balancea la carga también.

Pero es que además ocurre lo siguiente; si el primer cliente puede
conectar con el servidor web por la 192.168.0.1 perfecto, usará
siempre que pueda esta IP para coenctar a él y poder acceder al
sitio
web; pero, si el web server (que ni siquiera el servidor) está caído
o parado por alguna causa, el lciente intenta conectar por la
192.168.0.1 por http...y ve que no hay respuesta; en vez de arrojar
un fallo mira su caché DNS y decir...coñe!! si tengo más IP's que
puedo usar para conectar a "www", y es entonces cuando vuelve a
lanzar la petición http a la IP siguiente, en su caso la 192.168.0.2

Y así con todos los clientes; cuando el TTL de los registros DNS
caduquen (por defecto en DNS de MS es 1 hora), se repite el proceso
y
el cliente volverá a pedir una resolución de nombres para "www", y
puede o no, como es evidente, que se le devuelva en el anterior
orden
que tuvo o que haya cambiado por el balanceo :-)

Sin embargo la pega de ésto puede ser que en un momento determinado
se quiera sacar unservidor del Round Robin por el motivo que sea y
las estaciones cliente que ya tiene resuelto ese nombre con ese
servidor incluido no se enteren hasta que les expire la caché DNS y
vuelvan a solicitar el servidor DNS la resolución de nombre, por lo
que puede llevar a demoras o a que ciertas aplicaciones fallen en
ese
momento :-(

De echo, ésto es lo más normal de usar e implementar en Internet,
pudiendo ser después las IP's que se resuelven balanceadores
físicos, por ejemplo.
Y como ejemplo calro, un equipo conectado a internet, si hace un
nslookup para ver cómo se resuelve el dominio www.microsoft.com
podrá
ver la multitud de IP's que hay y que se "balancean" por Round Robin
en los servidores DNS.

Un saludo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida