[lvs-users] DR-mode realserver selection via consistent hashing on request URL?

Josh Adams josh at gmail.com
Tue Nov 17 03:50:09 GMT 2009

Hi lvs-users,

Please pardon the inconvenience if I've missed an obvious thread in
the archives or piece of documentation but I can't seem to find any
clear answer about this.  I'm working on a caching architecture and
LVS's DR mode is extremely appealing to me because it looks like it
would significantly reduce the frontend load balancer's required
network footprint if I could get it to be smart about which realserver
(cache server) to choose for a given object.

I'd like to place a few LVS-DR servers in front of a set of cache
servers, each of which I need to provide with consistent sets of
request objects to reduce or eliminate any duplicate caching.  Ideally
I could somehow get LVS to schedule requests by running consistent
hashing against the request URL, the result of which would send the
request to the appropriate+live realserver at the time.  I see talk of
a "URL Persistence Module" in l7vsadm (I guess via l7-filter, which
I'm looking at also) but that's not exactly what I need.

Beyond the --pattern-match in l7vsadm/l7-filter I can see a few
options to schedule requests to realservers inside of LVS, eg,
http://www.linux-vs.org/docs/scheduling.html .  It looks like these
don't provide me the functionality to reach into the request body and
perform a scheduling algorithm on some portion of it before DR'ing out
to the appropriate realserver.  Hope I'm making sense here...  Is
anyone aware of work that's being done to provide that kind of
scheduler from within LVS or similar?

Cheers, and thanks for your help,

More information about the lvs-users mailing list