Let's imagine a client A
watching a live stream (which translates to a bunch of HTTP requests) with keep-alive
header on.
A -r-> LB-----> R1 --|
/|\ |-----> R2 --|
| ------> R3 --|
|---R----------------|
Is it possible that this DSR (direct server return) Load Balancer (L4) offers least-conn
method?
If it's yes, how does the reals
manage to work with TCP sequence number? (and also to keepalive
the connection) Since for each new client connection, the LB can route you to a different real server
.
(source: haproxy.com)
If you are using DSR then the load-balancer is not proxying the TCP connection, and so must not alter sequence or acknowledgement numbers. It's not fashionable these days as it's limited in functionality, and needs to be coupled to the farm at layer 2 which does not lend itself to hosting multiple services or load-balancing across multiple data centres, plus modern load-balancers run on much more powerful hardware.