Hello,
First, some comments about L7 switching.
It's nice to see a free reliable and fast virtual server solution out there.
LVS certainly does well in L4 load balancing, but L7 switching is not
recommended by LVS. Rewriting application using persistent storage is the
better approach for http session persistent by LVS. However, since Website
performance is dependent on the load balancer, web server, Servlet
containers, the processing speed of every element would be important. Using
persistent storage to store session information requires the application
connects to a centralized database for every request in order to obtain
session information. This way, it would be even slower than L7 switching
inside the kernel. Of course, for other applications which do not require
persistent session, L7 switching would make it slower because the load
balancer has to inspect the HTTP header for every incoming request.
Second, we are going to setup a load-balancing environment using LVS,
realservers would be apache and resin.
Our application require L7 load balancing because we use URL rewriting to
keep the session info in the requested URLs, like this:
http://ip/servlet/servletname;jsessionid =*****. Basically, we want the load
balancer will deliver the requests who have the same jsessionid to the same
real server. Looking through the LVS document, KTCPVS seems to be able to
provide L7 load balancing, but I couldn't find any documentation about
compiling, configuring, features and commands of KTCPVS. Does KTCPVS have
the feature to distinguish the jsessionid in the requested URL and/or in the
Cookie header? Does KTCPVS have to be bundled together with IPVS? And what
is the process to make it work?
Thanks,
Jessica
|