Re: content aware switching

Theo Schlossnagle <[email protected]> Wed, 07 Apr 2004 10:40:25 -0400
Newsgroups gmane.comp.apache.mod-backhand.general
Message-ID <[email protected]>
Ravi Kumar Munnangi wrote:

>Hi users,
>  
>  I have been using mod_backhand for load balancing.
>Now I want to use content aware dispatching techique.
>Suppose I have 3 servers-x,y,z.
>The web content is not fully replicated on these
>servers.
>In fact I have divided whole web content to three
>parts
>each served by one server. 
> 
> Now here there are two cases for dispatching.
>1. If a server doesn't know the contents with other
>servers.
>   In this case Iam using the directive "removeSelf"
>   so that the server which contains the data will
>serve.
>2. If a server knows the content what other servers
>have.
>   Here which directive will be useful to redirect
>   the request to a particular server?
>   what is the difference between HTTPRedirectToName
>   and HTTPRedirectToIP?
>   Can I use these directives for this purpose?
>   Or any other alternative?
>   Please reply me with where I should put these
>directives and with syntax.
>  
>
I am not sure I understand what you are trying to accomplish...

(1) ou say you have three servers and the a given box only knows that it 
doesn't have it, so you use removeSelf.  This is flawed with more than 
two servers.  mod_backhand will not proxy any request that has already 
be proxied by backhand -- to prevent ping-ponging.  So, if one of three 
servers doesn't have the content in question, it has a 50/50 chance of 
directing to a server that does have it.  If it misdirects, that is the 
end of life for that request.

(2) HTTPRedirect* are special in that they don't proxy anything.  They 
redirect on an HTTP level by sending a Loction: HTTP header back.  Use 
them with care.

It sounds to me like you could do this:

www-1 has content under /1/
www-2 has content under /2/
www-3 has content under /3/

<Directory /path/to/1/>
BackhandFromSO byHostname.so byHostname www-1
</Directory>
<Directory /path/to/2/>
BackhandFromSO byHostname.so byHostname www-2
</Directory>
<Directory /path/to/3/>
BackhandFromSO byHostname.so byHostname www-3
</Directory>

-- 
// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on Earth