scheme showing a TCP-only load balancer that receives incoming client requests and forwards each request/frame to one of several backend servers.
How should a TCP load balancer process incoming frames and distribute them across multiple backend servers?
Scheme description:
Incoming traffic consists only of TCP requests. These requests first arrive at the load balancer. The load balancer processes each incoming frame using processFrame(frame* F, int numOfServers) and then forwards the frame using send2Server(frame* F).
The load balancer has three backend targets: 10.0.0.1 ,10.0.0.2, 10.0.0.3
handleFrame(frame* F, int numOfServers)
{
processFrame(frame* F, int numOfServers);
send2Server(frame* F);
}
implement processFrame(frame* F, int numOfServers);
followup: what if a backend server fails?