GeoIP and maintaining high availability

Dave Knight dave at knig.ht
Fri Jul 9 20:30:58 UTC 2010


Hi Tomasz,

On 2010-07-09, at 10:26 AM, Tomasz Chmielewski wrote:

> Hi,
> 
> I'm about to set up bind with GeoIP patches.
> 
> What I'm not sure, is how do you guys handle high availability?
> 
> Suppose I have zones for Americas and Europe, and a destination server in Europe dies - how do you handle it so that new (i.e. web) requests hit American servers only?
> 
> Set TTL to low values (i.e. 10 minutes max) and reconfigure the zones if European servers are down? Something else?
> 
> I assume typical hosting, without access to sophisticated network settings, like BGP.


I think that you're confusing two issues. DNS has redundancy baked in.

Let's say you have 2 nameservers

	ns-europe.example.com ( which is physically located in North America )
	ns-americas.example.com ( which is physically located in Europe )
	
and both of those are authoritative for this zone

	geoip.example.com

Now that's a special zone being operated using the GeoIP patches so that if either of the nameserver receives a query from a European IP it gets a custom answer suitable for Europeans and if it gets a query from an African IP it returns a custom answer suitable for Africans.

Both of your nameserves answer the same way. European queries do not go exclusively to the European server. If ns-europe is down resolvers will get an answer from ns-america instead. 

This situation does involve a failed query to the down server, followed by a retry and is probably Good Enough. If you absolutely must avoid the penalty of a timeout + retry you need to make the individual nameservers redundant and that probably means anycast.

dave


More information about the bind-users mailing list