I am trying to understand fundamental use cases between these two and when to prefer one over the other.
Any relevant link with practical use case example would be great
While the global HTTPS load balancer is for Layer-7 traffic and is built using the Google Front Engines at the edge of Google's network. The regional network load balancer is for Layer-4 traffic and is built using Maglev.
If you need to load balance HTTP requests, we recommend you use the Application Load Balancer (ALB). For network/transport protocols (layer4 – TCP, UDP) load balancing, and for extreme performance/low latency applications we recommend using Network Load Balancer.
Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers.
- For example HAProxy support TCP load balancing. In practical cases when this would be a deciding factor?
You would probably use this if you are using sockets/comet/full-duplex
- Also What HTTP LB can achieve TCP can not and vice versa
Currently HAproxy is the most reliable LB on the market for TCP and websockets.
- Any reference architecture
This would give you a start http://highscalability.com/blog/2014/8/11/the-easy-way-of-building-a-growing-startup-architecture-usin.html
TCP load balancing is pretty simple and yet powerful, it can be implemented at layer 4 (LVS) or layer 7 (HAProxy). An HTTP load balancer is a reverse proxy that can perform extra actions on http traffic, i.e. re-write sections of the traffic and inserting cookies etc. You only need a HTTP if you need one and if you don't you don't. (I'm sure that sentence almost makes sense).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With