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