HAProxy 2.0.0

HAProxy Community Edition

HAProxy just got upgraded to stable version 2.0.0. HAProxy is an open-source load balancer with a truly impressive set of configuration settings and flexible ways to deploy and manage load balanced setup for a multi-node service.

HAProxy 2.0.0 Changes

Actually, HAProxy is one of the more regularly updated open-source projects so even though 2.0.0 release is a big deal it’s not like it’s taken years to get there: 1.9 got updates in May. Still, previous major release 1.0.0 was shipped almost 20 years ago.

Notable HAProxy 2.0.0 features include:

  • full end-to-end HTTP/2 support
  • much more scalable multi-threading (the more CPUs you have available for HAProxy, the better) – see nbthread
  • stdout logging – great for running HAProxy in Docker containers
  • it’s possible to log only a sample of the data (perhaps every 10th log line instead of every line)
  • performance stats are now exposed in a Prometheus friendly way

Things You Can Do with HAProxy

Here’s just a few things I’ve used HAProxy for in the past. Will turn these topics into Unix Tutorial posts soon enough:

  • front load balancer for a website (HTTP/HTTPS)
  • internal load balancer for an application (pretty much any TCP)
  • internal load balancer for a database (like MySQL)
  • flexible healtchecks in HAProxy load balancers

I just realised it’s been a while since I used HAProxy in my own experiments, so I’ll try and give it more focus. Might also visit the HAProxyConf in Amsterdam this November – let me know if you’re going!

See Also