hello!
i have a rather difficult problem that i am trying to solve and i have
been researching whether or not lvs can serve as a possible solution. i
have read all of the online documentation and browsed through the
mailing lists archives, but thus far, i have been unable to find much
helpful information.
is there a way that lvs could maintain any current connections from
users to one cluster (within a set session expiration period) and any
new user connections be load balanced and switched to a second cluster.
so a user connected to clusterA can complete his transactions on
clusterA, even though i've brought clusterB online, or until 30 minutes
of inactivity have passed.
please allow me to explain my situation in greater detail below..
currently, i use cisco css 115xx content switches for my load balancing.
while they perform very nicely, they do not have all of the
functionality i require.
my systems are comprised of 3 web servers, 3 application servers, and 2
database servers. all machines are sun e4500 servers, not that the
vendor or type of server makes any difference. each of the web servers
and application servers, run two clusters of my website. each being
served off different ports.
for example:
on the web servers, clusterA is on ports 80/443 and clusterB is on ports
81/444. and they communicate with the application servers on different
ports for each respective cluster. this way i can keep both clusters
always running. while one cluster is actually the live cluster serving
users, the other cluster can be updated with media updates, code fixes,
etc. then when i want to flip from one cluster to the other, i just
reconfigure the cisco css switch to flip from handling web traffic on
80/443 to 81/444 and let it do all the translation and forwarding.
this method is not so bad, considering i don't have content that needs
to be continuously updated throughout the day and only needs to be
updated with new graphics and pictures about once a week. but it is a
problem, because i can only do it in the middle of the night. the
problem is really around the communication between the web server
cluster and the application server cluster. while the load balancing
works great between the clusters, the problem is that i have users who
have created shopping carts which are stored on the application servers.
which means if i flip from one cluster to the other, the site
availability will remain up 100%, but the user loses what was in his
shopping cart.
|