====== haproxy====== [[apps:apps|{{ :apps:icon.jpg?120|}}]] ===== context===== dit document geeft wat informatie over haproxy, een high-availability proxy server ===== werking===== * net zoals elke andere proxy staat haproxy tussen de client (die de request maakt) en de back-end (de server waarop de eigenlijke service draait) * haproxy ontvangt de request en stuurt die door naar de back-end server(s). {{ :apps:haproxy_overview.png?400 |}} * voert health checks op de back-end servers uit om hun eigenlijke **state** te kennen. ===== configuratie===== * ''/etc/haproxy/haproxy.conf'': bevat minstens: * frontend: listen poort van haproxy, verwijzing naar default backend * backend: verwijzing naar de loadbalanced servers * balance: manier waarop de redirect gebeurt (round-robin, server met de minste verbindingen krijgt request, ...) * **voorbeeld**: load balancing waarbij: * http-verkeer wordt verdeeld over 3 servers * de server met de minste verbindingen eerst wordt bediend * elke web server wordt gecontroleerd en uit de pool wordt genomen als hij niet langer bereikbaar is.frontend myfrontend mode http balance leastconn bind *:80 default_backend web_servers backend web_servers mode http server s1 192.168.1.25:80 check server s2 192.168.1.26:80 check server s3 192.168.1.27:80 check ===== meer info ===== * [[https://www.haproxy.com/blog/haproxy-configuration-basics-load-balance-your-servers/|haproxy: intro]] * [[https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/|haproxy: stats]] {{tag>apps}}