[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cdn.debian.net as a project service?

Martin Zobel-Helas wrote:
> On Thu Mar 10, 2011 at 10:22:29 +0100, Peter Palfrader wrote:
>> I'd really like to see support for sane mirror selection in apt itself,
>> possibly with archive support (i.e. list of mirrors somewhere on
>> ftp.d.o).  That would allow apt to for instance retry on a different
>> server if the first one it tried does not work for some reason, and
>> maybe even report the problem to a central mirror.
> some information about this might be outdated by now, but the idea still
> stands: http://wiki.debian.org/RedirectProposal

Readers of #debian-mirrors may know that I started some work on an HTTP-
based redirector. (in fact, it was you or weasel who I asked on #-qa if 
something like that could be supported as a d.o service. I don't remember 
who I asked.)

Squeeze's apt supports http redirections, making the whole task easier and 
allowing a great number of users to benefit from the new service.

My project is, at the moment, stuck in the middle of a rewrite to use Plack 
and the need of using something like Md's zebra-dump-parser to better make a 
decision of what is the best mirror to handle the request.
The current implementation is architecture, country, and AS-aware (only if 
the request comes from an IP in the same AS network as the mirror), with 
some bits of initial support for city-based mirror choosing.
No attempt to balance load is, yet, done.

Compared to a DNS-based mirror chooser, one based on HTTP provides the 
following advantages:
* The redirector chooses the mirror based on information from the client 
that is transmitted over the same protocol that will be used to communicate 
to the mirror. In other words, there's no issue with your dns resolver being 
miles away from your host, or your http requests being routed over a 
different interface, or your host using an http proxy not on your local 
* No changes are required on the mirrors. No need to setup a special virtual 
host, or play with dns records.
* Mirrors without the complete set of architectures can be used too.
* Just like the above point, mirrors with a non-standard base dir (i.e. not 
/debian/) can also be used.

If anyone is interested in helping, please contact me and be patient (I've 
been very busy lately and been taking over three weeks to handle email).

P.S. apt also provides a "mirror" method (just like http, ftp, etc) but I 
consider it to be suboptimal and a poor way to tackle the problem.

Raphael Geissert - Debian Developer
www.debian.org - get.debian.net

Reply to: