On Mon, 2006-07-17 at 21:43 -0400, seth vidal wrote:
On Tue, 2006-07-18 at 02:31 +0100, Andy Burns wrote:
> seth vidal wrote:
>
> > Where would you like to place the magical no-single-points-of-failure
> > router?
>
> :-)
>
> Use round-robin DNS for
mirrors.fedoraproject.org resolving to
> geographically dispersed servers?
and if one of the servers fail then 1 out every N dns requests fail to
find the host b/c the resolving host is down.
oh - but you say - have the dns tables get updated so if a host goes
down it gets taken out of the search? That's why dns caching (yes,
despite TTLs) sucks.
If the server has multiple DNS aliases and then the client can be
written to fetch multiple aliases in a single DNS request and try
several before giving up.
The client could also cache a copy of the mirror list to fall back. I
imagine the client could even try a couple of servers from the previous
cached list before contacting the central server for a refresh (which
could reduce the load on the server hosting the mirror list).
The even better solution is to have multiple dispersed servers with the
_same_ IP. This can be done for UDP using IP Anycast but isn't suited to
TCP/HTTP traffic since sequential packets can get sent to different
servers.
http://www.net.cmu.edu/pres/anycast/
http://en.wikipedia.org/wiki/Anycast
Jon