HAProxy is great. I use the dataplane api with our releases to drop servers from the group for zero downtime release. Easy curl command, which they provide, and switched it to powershell too. I have another script that downloads our SSL/TLS certs and reloads haproxy using their no downtime reload option. I ran a load test earlier this year using loader[.]io and managed 57,782 requests in 20 seconds using a single haproxy server (tls) and two .net core web servers. Around 300mb/sec of data after brotli compression. Bottleneck was clearly the two web servers and could have scaled more but it was on a 1gb link and testing 10gb links over the internet is not something I am prepared for testing. HAProxy was basically idle the whole time.