1

help me understand something about load balancing.

Let's pretend we have one server as frontend and three servers as backend.

All are hosted in the same datacenter using a local connectivity. Usually VPSes are served with a 1Gbps port, if you experience high traffic all the backend servers will try to transfer traffic to the frontend proxy at a maximum of 3Gbps total while the frontend will only be able to accept 1Gbps. Wouldn't this make things slower in the end for the users?

Plus is the local network used between servers the same as the one connected to the Internet which is always shared?

If we instead consider backend servers on different locations would it be possible to load balance with a real "IP redirect" instead of proxying? Or is a CDN the only way to achieve that? I'd imagine that using a proxy config in different locations wouldn't make any sense since you add latency, travel time and there's no proximity advantage for the users since traffic will all originate from one location (the frontend)

Thank you

  • Are your backend servers serving static content? What are your reasons for doing load-balancing? Where is the bottleneck for you application? It depends on all that. Or is this just a theoretical question? – Nils Dec 26 '12 at 22:20
  • it's a theoretical question but I suppose in my future project I would consider this to load balance php processes and mysql not static files requestes – Sandro Antonucci Dec 27 '12 at 02:05

2 Answers2

1

If you are looking at having serving the same content in different locations for serving the content "locally" then you should have a look at IP anycast
You would have the proxy and backend servers in different locations (USA and UK for example) serving the same content and the people closest to the location will get served from that proxy

Another option would be to have more than one front end proxy to the backend servers and use DNS round robin to load balancing between the proxies, this would give you an extra 1 Gbps at the front end.

Epaphus
  • 1,011
  • 6
  • 8
1

In theory, yes - your frontend load-balancer could be a bottleneck in that scenario.

If you use different LB-techniques (like LVS DR) that would not matter, since each backend-server will directly answer to the clients.

Nils
  • 7,657
  • 3
  • 31
  • 71
  • is this something that it's actually used? It seems more something you should be able to do with your own servers in colocation hosting rather than with cheap VPSes with free load balancer software solutions, right? – Sandro Antonucci Dec 27 '12 at 02:10
  • @SandroAntonucci we use it locally in our datacenter (with an internal LVS-network, to make routing easier). But I see no real reason why this can not be used anywhere else. If you want a traffic director for your "nearest" server worldwide look at the answer from Epaphus. – Nils Jan 01 '13 at 21:42