3 ms·
They have very nice features that provider's load balancing might not offer you. First to me is the ability to retain the IP address. When using AWS Load Balan
by kureikain 5y ago
They have very nice features that provider's load balancing might not offer you.
First to me is the ability to retain the IP address. When using AWS Load Balancer, the LB scale automatically and replace the IP.
Second is sophisiciated routing. Example route by cookie. What it buy is that by setting a cookie you can make sure the request hit a specific pool. You can also have concept of backup
Third is lots of useful metrics with their stats page.
Fourth is the ability to alter the responses such as removing header. You have to pair with lambda edge for these on AWS. What it helps is imagine you can write back the user_id to HAProxy, HAProxy log it together with the request, and delete it(so client won't see it). It helps to easily tail the log for a specific user.
And a lot of rate limiting built-in features that just take a few lines of config.
- ncsurfus 5y agoSmall note - AWS Network Load Balancers maintain the same IP addresses.
- harpratap 5y agoYeah I was confused too. Why on earth will someone provide a load balancer if it keeps changing it's IP address as it scales?
- saurik 5y agoThe normal AWS load balancers are set up to stay in service as long as the cache time on their IP address having been served by DNS... (which, FWIW, I have long argued "isn't sufficient", as many ISPs in countries half a world away from the US or using tech like satellites don't honor DNS cache times and then your requests end up getting routed to someone else... I routinely got tons of HTTP requests clearly destined for someone else's product).
- ris 5y agoBecause they're intended to be referenced via hostname, and yes, regular HTTP AWS load balancers do indeed rotate their IPs.
- vladvasiliu 5y agoThat's true, but functionality-wise, they can do much fewer things. With an application load balancer, you can set up multiple backends, do basic redirections, do OIDC authentication, etc. With a network load balancer, you can only spread TCP and / or UDP connections.