Hi,
I want to send two transactions with different weights to different servers. I 
have done this using frontend, backend, and ACL as can be seen from the below 
config.The other requirement is to also use leastconn balancing.

The problem is that in this setting, leastconn applies within each backend and 
the selected server is not essentially the GLOBAL least loaded server in total 
(maybe due to a bug in the system). Note that, same servers are used in the 
backends with different weights.From what I understood from the code, the 
problem seems to be that each backend tracks the number of connection of its 
own servers separately. Therefore, although a server is overloaded in one 
backend, the other backend might think that it is completely free.


My requirement is to forward requests to different servers with different 
weights, but select the least loaded server in total. I checked Haproxy code to 
see what I need to change, but could not figure it out. I am not very familiar 
with HAProxy code and structure. I wonder if there is an easy solution to do 
this, or if some one can help me with some directions to do this; either to 
config HAProxydifferently or to change its code to address my requirement.Any 
help is appreciated.

My setting is:
backend BK1   balance leastconn   server web1 000.000.000.000:00 weight W1   
server web2 111.111.111.111:11 weight W2
backend BK2  balance leastconn  server web1 000.000.000.000:00 weight W3  
server web2 111.111.111.111:11 weight W4

frontend http  bind *:80  mode http  acl myACL url_beg /MYURL  use_backend BK1 
if myACL  default_backend BK2

Reply via email to