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!