After HAProxy Enterprise receives a connection or request in a
listen section, it passes it to a
backend for processing. A backend defines a pool of servers that can handle the request and return a response.
Below, we have a frontend and a backend. The backend lists application servers on the network:
frontend myproxy bind 10.0.0.5:80 default_backend web_servers backend web_servers server web1 192.168.0.10:8080 server web2 192.168.0.11:8080 server web3 192.168.0.12:8080
The load balancer sends connections to the servers equally so that each one receives a similar amount of traffic. By default, it uses the round-robin algorithm to decide which server should get the next connection. In that mode, servers are chosen in a rotation, starting from the top and looping around once you've reached the bottom.
However, you may set a different load-balancing algorithm to suit your needs by adding the
balance directive to the section:
backend web_servers # Use the 'least connections' algorithm balance leastconn server web1 192.168.0.10:8080 server web2 192.168.0.11:8080 server web3 192.168.0.12:8080