On Thu, Nov 19, 2009 at 1:33 PM, Willy Tarreau <[email protected]> wrote:
> On Wed, Nov 18, 2009 at 07:37:38PM -0800, David Birdsong wrote:
>> >From the manual:
>> <snip>
>>  hdr(name)   The HTTP header <name> will be looked up in each HTTP request.
>>                   Just as with the equivalent ACL 'hdr()' function, the 
>> header
>>                   name in parenthesis is not case sensitive. If the header is
>>                   absent or if it does not contain any value, the round-robin
>>                   algorithm is applied instead.
>>
>> </snip>
>>
>> So this balancing scheme falls back to round-robin if the header is
>> not found, what method is used if it is?..does it hash on the value of
>> the header (or the name of the header)?
>
> The value of the header. I take note of your question an will improve
> the doc on this point, as after re-reading it, I agree that it is not
> obvious.
>
>> This question could extend to url_param, so if the param is found in
>> the GET string or in the body of the POST, what next?  What balance
>> method is used?
>
> Same, just the value. The idea is that you generally know the variable
> name and want to hash on its value if it's present. Most often it will
> be a client ID or session ID.
Awesome, that's what I was hoping was the case.

Ok, so now that hash-type is available, will this work?

balance hdr(X-Backend)
hash-type consistent

Does this mean I can consistent hash on an arbitrary header value?
(this would be great!)

>
> Regards,
> Willy
>
>

Reply via email to