I've read 'youtube-architecture' but still do not understand one point.
Assume I have a bit bigger content to deliver and one load balancer (nginx) points via reverse proxying to e.g. 10 back-end servers (java/jetty). Now assume 1 GBit/s for every server.
When the applications gets more users I have some options:
- reduce the maximum download rate per connection. So a few heavy users won't make the connection worse for the others. (limited scalability)
- redirect to the back-end server so that the clients directly download there and the bandwidth multiplies. (the 'youtube' style?)
- use DNS load balancing, here also the bandwidth multiplies. Problem: I do not have much control over the load balancing selection process
Is there another option?
E.g. the 2nd option without the redirection? Or is it this normal that clients just load a thin skin of the application like 'youtube.com' and then download the videos from different domains like 'xy.googlevideo.com'?