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