[icecast-dev] Asymmetric load balancing

Jack Moffitt jack at xiph.org
Wed May 5 08:22:54 PDT 2004



> I am finding this solution to be sub-par.  Client-side caching seems to be
> one of the culprits.  When one of the bandwidth-constrained server IPs is
> selected, and it's full, it seems that the client never switches to
> another server on reconnect.  Using Winamp as the client right now on
> Windows XP (for testing).  Only flushing all the DNS caches up the chain
> (client, my Linux box) seems to fix this.  Or waiting a really long time.
> 
> Before I attempt to hack a solution together, I recall someone working on
> this issue, so I'd like to find out the status of that work.  I can't be
> the only one with this need.

Round robin DNS isn't really appropriate as you noticed.  Something will
have to be done among the icecast servers themselves, and what is coming
to my mind really quickly is some kind of new config option to specify a
list of mirror servers.

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.

jack.
--- >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