On Wed, 21 Jul 2004, Jimmy (Jimbo) Wales wrote: ...
That sounds excellent, but isn't that technically difficult? ...
...
It's much harder (right?) to identify where a user is coming from and route them through the proxy that's best for them. This is what Akamai and people like this charge big bucks for doing.
Ok. Others have commented on this (and at least one has done some homework), but as one who has done this sort of thing (*is* doing this sort of thing) and knows first hand how Akamai's magic works, I'm gonna unmuddy the waters a bit...
First, difficulty is open to discussion. It's rather simple to configure "views" within BIND. It becomes a management hassle on the scale being proposed, but it's still very much doable.
Identifying the physical location of a user will never be 100% accurate. And technically, it doesn't matter where they *physically* are; the ip layer path between them and any farm(s) is the only important part. One can assume IANA address deligations are going to fall within the correct region. However, we all know this is not always the case. It'll have to do. (the more accurate alternative(s) are a nightmare of complexity.)
Akamai's foo (and yes, I'm literally wearing an Akamai hat *grin*) is based mostly on the localized caches. Each ISP hosting a cache has reported their announced address space to Akamai which is used to aim requests to the local cache(s). If your IP isn't covered by a local cache, you'll be aimed to a "close" public cache. For example, if you ask one of BTI's dns servers for an akadns host, you'll get back a bti address for one of the cache servers on the edge of their network. (because akamai will see the request coming from within bti's network.)
===
In short, this can be done. It'll take a bit of tweaking to get a happy balance. And it'll require some maintenance, but what doesn't around here :-)
--Ricky
PS: For my money, grab that 16GB beast and beg nforce.nl to host it for us. It'd make a nice memcache and fileserver.