[icecast-dev] Asymmetric load balancing

Likai Liu icecast-dev-20040422 at likai.net
Thu May 13 09:48:37 PDT 2004

On Wed, 5 May 2004, Jack Moffitt wrote:

> If the client limits are hit on the server, it sends back an HTTP
> redirect with the location of a random mirror (not itself).  This should
> be transparent to clients and acheive the affect you want.  You could
> also combine with with round robin DNS to spread people over the servers
> initially.
> Seems fairly elegant.  Probably you want this configurable on a mount
> level not a global server level, but it shouldn't be too hard to
> implemenet.  Just a config file addition plus some extra logic in the
> main connect loop, similar to what happens on a 404.

Most people like to use 301 (moved permanently) for redirection, and this
is the one most likely to be supported by client. If one desires to adhere
to the standard pedantically, one should use code 300 (multiple choices),
302 (found), or 307 (temporarily redirect) for load balancing.

This logic doesn't need to be part of Icecast server. Any cgi script with
access to stats.xml can act like a dispatching agent, and it can make
pretty good decision to redirect the client. But what if the client
doesn't support redirection?

On Wed, 5 May 2004, Scott Manley wrote:

> Th redirect should of course include some info in the redirect URL regarding
> how many times it's been redirected - you don't want to get into a situation
> where users are bounced around indefinately.

This is generally the task of an user agent.

--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Icecast-dev mailing list