Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I guess this question could be entitiled, how do CDN's work at the DNS level but the real problem I have is that my company has datacenters in three continents and we have to have europe.xxx.com us.xxx.com and asia.xxx.com

CDN's typically send you to the local datacenter I imagine depending on your IP address. This must be a DNS thing where you have the DNS server in USA send you to a USA datacenter for the same xxx.com DNS lookup?

Am I wrong? If I am wrong about this, how would I do this effectively and if possible without central (non DNS) servers?

share|improve this question
3  
You shouldn't: queue.acm.org/detail.cfm?id=1647302 –  e-t172 Nov 30 '09 at 18:59

3 Answers 3

The trouble with CDNs is that they don't direct you based on your own IP address - they direct you based on the IP address of your DNS server... That could be completely wrong. And do read Paul Vixie's ACM article, it's bang on the money.

Anyhow, if you've already got region.example.com set up and running, you could consider doing an HTTP redirect from example.com to the relevant webserver, based on the client's IP address.

That's pretty much what Google does, it's how I end up at google.co.uk having typed in `google.com'.

Do also ensure though that you provide a means for clients to get to the other variations. Clients don't like it when they're forced to a particular site, whether by mistakes in the Geo databases or simply because they actually need to see the site from another region.

share|improve this answer

There are a number of ways to handle this, but they all boil down to figuring out where an IP address is, and pointing it accordingly. For example, you might specify a range of IPs for North America and one for Europe. If the IP requesting the information (from DNS, your webserver, your content server, etc.) falls in the European range, then your European servers should get the requests.

share|improve this answer
    
Ben, what do you mean? Do you mean I have a DNS server in the US and one for instance in the UK. When I think about DNS I simply set my A record and I am done. How can I specify these DNS servers on a regional basis? –  Stewart Robinson Nov 30 '09 at 18:47
    
I believe what he's referring to is something like views in bind. You could setup different views inside DNS that match based on the client's IP address, which can be roughly identified as belonging to a geographic region. There are many services available that you can pipe a request to an API and get a location from. Looking around briefly, you might try hostip.info/dl/index.html for a lower/no cost option. –  Greeblesnort Nov 30 '09 at 21:23
    
just happened to run across this in my evening browsing: blogs.techrepublic.com.com/networking/… –  Greeblesnort Dec 1 '09 at 2:42
    
@Stewart -- no, you would not run one DNS server per region. Well, you could, but that would be for redundancy, as the DNS system itself is location-bline. @greeblesnort's answer is almost as good as his name. :-) –  Ben Doom Dec 1 '09 at 23:33

You could setup a default main page at example.com. The first time someone visits they select which region they want to be directed to. This is the same way that www.ups.com works.

The user can select a check box to make this his/her default choice from that point on, thus storing the selection in a cookie.

This gives you to benefit of using DNS in the manner it was designed for according to Paul Vixie, while allowing your user to make the most accurate decsion on which data center they should be directed to.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.