Skip to main content

Multiple loadbalancers

1 reply [Last post]
coreyjohnston
Offline
Joined: 2006-08-03

Hi

I'm wondering if it's possible to configure multiple software loadbalancers (on multiple Web Server instances) to front the one cluster?

That is, have multiple web servers accept the same request.
The idea being rather than having one "entry point", from the web, there are multiple.

I know that it's technically possible to setup, but I'm not sure how well it would go for session management with cookies and URL rewriting.

For instance, say we have 2 webservers, each with their own loadbalancer plugin, using the same Glassfish cluster behind.

The DNS name is www.test.com, which resolves to 2 IP addresses, webserver1 and webserver2.
Using DNS round-robin, users will get either of the 2 IPs, which pass to two webservers, each with their own loadbalancer plugin.

If a user starts a session via webserver1, it will pass to a Glassfish instance in the cluster, and get a session ID so future requests are sticky and sent to the same cluster. eg xJnL

However, suppose the DNS TTL expires and next time the same request comes through, its routed to webserver2. Will the plugin on webserver2 be able to recognize the session ID in the session, to route the request to the same Glassfish instance as (webserver1 routed to)?

May sound complicated but all I'm really trying to do is implement multiple webservers so there are multiple entry points, should one webserver fail/become overloaded.

Any ideas?

Message was edited by: coreyjohnston

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Kshitiz Saxena

Hi,

Decision to route a sticky request(subsequent request part of existing
session) is based on information coming along with request. It can be
in cookie or part of url(url-rewriting). Decision to select an instance
is based on that information and is completely stateless. Hence
whichever web-server it reaches, request will be routed to correct
instance. Just ensure that you have exactly same load-balancer xml on
both web-servers.

This scenario is pretty common as in production environment you will not
like to have any single point of failure.

Thanks,
Kshitiz

glassfish@javadesktop.org wrote:
> Hi
>
> I'm wondering if it's possible to configure multiple software loadbalancers (on multiple Web Server instances) to front the one cluster.
>
> That is, have multiple web servers accept the same request.
> The idea being rather than having one "entry point", there are multiple.
>
> I know it's technically possible to setup, but I'm not sure how well it would go for session-management with cookies and URL rewriting.
>
> For instance, say we have 2 webservers, each with their own loadbalancer plugin, using the same cluster.
>
> The DNS name is www.test.com, which resolves to 2 IP addresses.
> Using DNS round-robin, users will get either of the 2 IPs, which pass to two loadbalancers.
>
> If a user starts a session via webserver1, it will pass to a Glassfish instance in the cluster, and get a session ID so future requests are sticky and sent to the same cluster.
>
> However, suppose the DNS TTL expires and next time the same request comes through, its routed to webserver2. Will the plugin on webserver2 be able to recognize the session ID in the session, to route the request to the same Glassfish instance as (webserver1 routed to)?
>
> May sound complicated but all I'm really trying to do is implement multiple webservers so there are multiple entry points, should one webserver fail/become overloaded.
>
> Any ideas?
> [Message sent by forum member 'coreyjohnston' (corey@tt.com.au)]
>
> http://forums.java.net/jive/thread.jspa?messageID=369720
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net