Re: Load balancer sticky session problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



What if I have a session clustering mechanism which works asynchronously, so if host A fails, then the sessions will be replicated to server B in several seconds, and if the session is sticky and request is moved to B, only request that will come on that second will fail. But if the load balancer is not sticky, it won't work since the sessions are not replicated realtime

On Tue, Nov 24, 2009 at 2:16 PM, Boyle Owen <Owen.Boyle@xxxxxxxxxxxxx> wrote:




>       "The downside is that if the desired server is really down, the
request
>       will eventually fail."
>
>       I wouldn't want this, the reason why I am using a load balancer
is to have high availability,
> not just to balance a load.
>
>       How can I overcome this?
>       Aren't there any alternatives?


What do you imagine can happen? If you want sessions to be sticky then
if a request has session ID that points to server-A, the request *must*
go there. If server-A is unavailable, the request must wait.

Alternatively, you can allow failover and then the request will go
straight to server-B, but then it has the wrong session cookie.

Session affinity and failover are mutually exclusive - there is no way
round it.

>       Also what does it mean to be busy?
>       Currently I am using my pc to act as a load balancer in front of
powerfull servers and there
> is only one page request, how can it be busy?

No idea. It's your server.. You posted that stickysession wasn't working
and I posted back a possible explanation and something to try (did you?)
Maybe it's not the problem - try it and see :-)

Rgds,
Owen Boyle
Disclaimer: Any disclaimer attached to this message may be ignored.




       On Tue, Nov 24, 2009 at 12:27 PM, Boyle Owen
<Owen.Boyle@xxxxxxxxxxxxx> wrote:


               Try adding "nofailover=On" to the Proxy tag, ie


               <Proxy balancer://ow1 stickysession=JSESSIONID
lbmethod=byrequests

               nofailover=On>
               ...

               By default, if the desired balancer member is busy, the
request will be
               routed to another one, even if the stickysession doesn't
match (this is
               "failover"). To force apache to hold the request until
the server is
               free again, you need to switch this off by switching ON
"nofailover" (so
               switching OFF "failover" - confusing, eh? :-)

               The downside is that if the desired server is really
down, the request
               will eventually fail.

               Rgds,
               Owen Boyle
               Disclaimer: Any disclaimer attached to this message may
be ignored.




               ________________________________

               ? ? ? ?From: Onur Agin [mailto:onuragin@xxxxxxxxx]
               ? ? ? ?Sent: Tuesday, November 24, 2009 11:05 AM
               ? ? ? ?To: users@xxxxxxxxxxxxxxxx
               ? ? ? ?Subject: Load balancer sticky
session problem



               ? ? ? ?Hi,

               ? ? ? ?With the configuration below, sticky sessions
won't work...
               ? ? ? ?I checked that both servers get the request with
the same
               session IDs.
               ? ? ? ?Any ideas?


               ? ? ? ?<VirtualHost *:8001>
               ? ? ? ?# Proxy
               ? ? ? ?ProxyRequests Off
               ? ? ? ?<Proxy *>
               ? ? ? ???Order deny,allow
               ? ? ? ???Allow from all
               ? ? ? ?</Proxy>
               ? ? ? ?<Proxy balancer://ow1 stickysession=JSESSIONID
               lbmethod=byrequests>
               ? ? ? ???BalancerMember http://10.xxx:7101
               ? ? ? ???BalancerMember http://10.xxx:7102
               ? ? ? ?</Proxy>

               ? ? ? ?ProxyPass / balancer://ow1/
               ? ? ? ?</VirtualHost>

               ? ? ? ?<VirtualHost *:8002>

               ? ? ? ?# Proxy
               ? ? ? ?ProxyRequests Off
               ? ? ? ?<Proxy *>
               ? ? ? ???Order deny,allow
               ? ? ? ???Allow from all
               ? ? ? ?</Proxy>
               ? ? ? ?<Proxy balancer://ow2 stickysession=JSESSIONID
               lbmethod=byrequests>
               ? ? ? ???BalancerMember http://10.xxx:7103
               ? ? ? ???BalancerMember http://10.xxx:7104
               ? ? ? ?</Proxy>

               ? ? ? ?ProxyPass / balancer://ow2/
               ? ? ? ?</VirtualHost>


               ? ? ? ?Also my request header is:

               ? ? ? ?GET

/xxx/resources/org.apache.wicket.markup.html.WicketEventReference/wicket
               -event.js;jsessionid=76BF17CE24DB39AC8F6B3639BBA5727D
HTTP/1.1
               ? ? ? ?Accept: */*
               ? ? ? ?Referer:

http://10.xxx:8001/xxx/?class=texan.acq.ui.param.MERPARAM
               ? ? ? ?Accept-Language: en-us
               ? ? ? ?Accept-Encoding: gzip, deflate
               ? ? ? ?User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;
Windows NT 5.1;
               SV1; .NET CLR 2.0.50727; MS-RTC LM 8; InfoPath.2)
               ? ? ? ?Host: 10.xxx:8001
               ? ? ? ?Connection: Keep-Alive
               ? ? ? ?Cookie:
JSESSIONID=76BF17CE24DB39AC8F6B3639BBA5727D


               This message is for the named person's use only. It may
contain confidential, proprietary or legally privileged information. If
you receive this message in error, please notify the sender urgently and
then immediately delete the message and any copies of it from your
system. Please also immediately destroy any hardcopies of the message.
               The sender's company reserves the right to monitor all
e-mail communications through their networks.


---------------------------------------------------------------------
               The official User-To-User support forum of the Apache
HTTP Server Project.
               See <URL:http://httpd.apache.org/userslist.html> for
more info.
               To unsubscribe, e-mail:
users-unsubscribe@xxxxxxxxxxxxxxxx
               ? " ? from the digest:
users-digest-unsubscribe@xxxxxxxxxxxxxxxx
               For additional commands, e-mail:
users-help@xxxxxxxxxxxxxxxx





---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux