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

Re: Debian mirror CDN had launched.


On 2/17/08, Leo costela Antunes <costela@debian.org> wrote:

> This CDN checks your hosts DNS query to retrive your national location.
> - If your located country has Debian Mirror, return this mirror site IP address.
> - If your located continent has Debian Mirror, return this mirror site IP address.

I don't think this is a good logic for many situations.
For instance: Brazil is in South America, but it doesn't have good links
to any other South American country. You'd most probably get better
results from a North American mirror instead of any other South American
mirror outside Brazil.
I think this situation might occur too often in other countries.

I understand it because same problem was Also existed in former Japan...

> - If CDN can not find your location, return one of Japan mirror.
> - This CDN checks debian rsync mirror process. If mirror site is mirroring, CDN hides this site.

This is a good idea. I had intended to plug this information into my
solution as well, though I'm not sure about hiding current mirroring
Though I couldn't find where you get this info from, and how. Is it in
the SVN you supplied?

Yes, it has been supplied in https://osdn.debian.or.jp/repos/cdn/trunk/check-surrogates.rb.

This ruby code run periodically (I run every 2 mins by cron) to check server status. And all of DNS cache time is 60 seconds. Then, dead mirror host is removed in 180 seconds at worst case.

Basic mirror tree checking is simple.

I would like to talk about it with real mirror site ( debian .topstudio.co.jp in Japan case.

Please see at

mirror order / host footprint / time / size
[4]	cdn.debian.or.jp	19-Feb-2008 05:55 	 29
[5]	debian.topstudio.co.jp	19-Feb-2008 06:11 	29
[1]	ftp-master.debian.org	19-Feb-2008 05:00 	29
[3]	hanzubon.jp	19-Feb-2008 05:55 	29
[2]	syncproxy.wna.debian.org	19-Feb-2008 05:46 	29

All cdn mirrors use rsync tree these orders.

If $first_surrogate is set, check_surrogate.rb checks distribution tree.

For Japan mirrors, I set $first_surrogate = 'hanzubon.jp',
it compares http://hanzubon.jp/debian/project/trace/hanzubon.jp
If Last-Modified
time is different, cdn.d.n DNS servers stop to return as
alive surrogate.

Now I use this $first_surrogate for Japan mirror only.

I think this idea can apply for security.debian.org mirror.

Furthermore, why don't you guys use the info from the
Mirrors.masterlist[0] file to generate your country/continent
information? This way you can work closely with the mirror-admins to
keep your info up-to-date.


Leo "costela" Antunes
[insert a witty retort here]

ARAKI Yasuhiro

Reply to: