Hi Baptiste,

On Fri, Apr 3, 2020 at 5:28 PM Baptiste <bed...@gmail.com> wrote:

>
>
> On Fri, Apr 3, 2020 at 5:21 AM Igor Cicimov <
> ig...@encompasscorporation.com> wrote:
>
>> Hi all,
>>
>> Probably another quite basic question that I can't find an example of in
>> the docs (at least as a warning not to do that as it does not make sense or
>> bad practise) or on the net. It is regarding the usage of multiple balance
>> statements in a backend like this:
>>
>>     balance leastconn
>>     balance hdr(Authorization)
>>
>> So basically is this a valid use case where we can expect both options to
>> get considered when load balancing or one is ignored as a duplicate (in
>> which case which one)?
>>
>> And in general how are duplicate statements being handled in the code,
>> .i.e. the first one or the last one is considered as valid, and are there
>> maybe any special statements that are exempt from the rule (like hopefully
>> balance :-) )
>>
>> Thanks in advance.
>>
>> Igor
>>
>>
>
> Hi Igor,
>
> duplicate statement processing depends on the keyword: very few are
> cumulative, and most of them s "last found match".
>
> To come back to the original point, you already a chance to have 2 LB
> algorithm: if you do 'balance hdr(Authorization)' and no Authorization
> header can be found, then HAProxy fails back to a round robin mode.
> Now, if you need persistence, I think you can enable "balance leastconn"
> and then use a stick table to route known  Authorization header to the
> right server.
> More information here:
>
> https://www.haproxy.com/fr/blog/load-balancing-affinity-persistence-sticky-sessions-what-you-need-to-know/
>
> Baptiste
>

Thanks for confirming this, great stuff!

Cheers,
Igor

Reply via email to