[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

#6 Javier Inglés [MS MVP]
04/02/2004 - 23:12 | Informe spam
Depende de la petición y de cómo sea la aplicación...puede ser que necesite que en la misma sesión se tenga que conectar al mismo server; es decir, un user hace una petición a un site "repleto de GIF's pesados" por ejemplo :-), esa petición la encaminará al servidor web más liviano en ese momento, cosa que efectivamente el Round Robin no podría hacer, si no que le puede encasquetar el marrón a un server que en ese momento esté cergado, eso sí :-)

Pero imagina una aplicación que requiera una operativa para que la conexión vaya al mismo web server, en ese caso, se puede llegar a pasar una petición a un web server cargado porque la aplicación lo necesite; efectivamente el balanceador es más óptimo por lo que bien comentas, pero puede llegar a pasar también algún caso de este tipo :-(

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:
¿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
#7 Fernando Reyes [MS MVP]
04/02/2004 - 23:15 | Informe spam
Ok, gracias por la explicación

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000

(No me seas cochino si quieres escribirme)


"Javier Inglés [MS MVP]" escribió en
el mensaje news:
Depende de la petición y de cómo sea la aplicación...puede ser que
necesite que en la misma sesión se tenga que conectar al mismo
server; es decir, un user hace una petición a un site "repleto de
GIF's pesados" por ejemplo :-), esa petición la encaminará al
servidor web más liviano en ese momento, cosa que efectivamente el
Round Robin no podría hacer, si no que le puede encasquetar el marrón
a un server que en ese momento esté cergado, eso sí :-)

Pero imagina una aplicación que requiera una operativa para que la
conexión vaya al mismo web server, en ese caso, se puede llegar a
pasar una petición a un web server cargado porque la aplicación lo
necesite; efectivamente el balanceador es más óptimo por lo que bien
comentas, pero puede llegar a pasar también algún caso de este tipo
:-(

Salu2!!!


"Fernando Reyes [MS MVP]"
escribió en el
mensaje news:
¿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
#8 Javier Inglés [MS MVP]
04/02/2004 - 23:22 | Informe spam
A tí socio :-)

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:%
Ok, gracias por la explicación

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000

(No me seas cochino si quieres escribirme)


"Javier Inglés [MS MVP]" escribió en
el mensaje news:
> Depende de la petición y de cómo sea la aplicación...puede ser que
> necesite que en la misma sesión se tenga que conectar al mismo
> server; es decir, un user hace una petición a un site "repleto de
> GIF's pesados" por ejemplo :-), esa petición la encaminará al
> servidor web más liviano en ese momento, cosa que efectivamente el
> Round Robin no podría hacer, si no que le puede encasquetar el marrón
> a un server que en ese momento esté cergado, eso sí :-)
>
> Pero imagina una aplicación que requiera una operativa para que la
> conexión vaya al mismo web server, en ese caso, se puede llegar a
> pasar una petición a un web server cargado porque la aplicación lo
> necesite; efectivamente el balanceador es más óptimo por lo que bien
> comentas, pero puede llegar a pasar también algún caso de este tipo
> :-(
>
> Salu2!!!
>
>
> "Fernando Reyes [MS MVP]"
> escribió en el
> mensaje news:
>> ¿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

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida