geographic load-balancing and organizationally external secondaries

Brad Knowles brad at stop.mail-abuse.org
Tue Dec 20 02:11:26 UTC 2005


At 3:45 PM -0800 2005-12-19, Neil Harkins wrote:

>  Hi. There are several solutions for geographic load-balancing in DNS,
>  but all seem to require administrative ownership/non-standard
>  configuration of all the nameservers involved, which defeats the
>  purpose of having external entities providing slave secondary service.

	Yup.  DNS was not intended to be abused in this fashion.  It's 
purpose is to hand out information that will work well enough, over a 
relatively long period of time, and to give you enough options that 
you can try several different alternatives if your first choice 
doesn't work out.

	This is pretty much diametrically opposed to the GSLB problem.

>  However, if there were a way to prioritize/weight NS records,
>  both requirements could be met easily. i.e. Geo-load-balancing
>  from servers you control, then fall back to external slaves
>  which have non-balanced static responses.

	You might be able to apply SRV records to the purpose, but you'd 
have to invent servers and clients to pay attention to that sort of 
thing.  Moreover, that doesn't solve the general problem.

>  Two not-necessarily realistic solutions come to mind:
>
>  A) An extension to the DNS spec to allow weights
>     on NS records similar to those on MX records.
>     Unlikely.

	See above.  SRV for the NS records doesn't help you for the GSLB 
problem.  SRV records for the target service would definitely help if 
you could reprogram all the clients in existence to use them.

>  B) A hack to the remote nameservers allowing
>     a delay to be configured per zone.
>     Since the DNS caches close to the end user
>     will most likely be using RTT to determine
>     which NS to query, they should prefer the
>     primaries (without the delay configured).

	They will use RTT calculated over time, and a heavily loaded 
server that is close by will probably tend to have a worse RTT than a 
lightly-loaded server that is located further away.

>     This is obviously less valid, as it requires
>     the modification happen at the external site,
>     not to mention that it negatively impacts
>     their performance.
>
>  Any other ideas on how to accomplish this?
>  Has there been any other initiatives
>  concerning weighting NS records?

	Solve this problem outside of the DNS.  For the web, have the DNS 
resolve to an anycast IP address on multiple SLB clusters around the 
world, let routing select the "closest" site to a given client, then 
use HTTP redirect to send you to the appropriate unicast IP address 
for the selected web server cluster.

	Similar solutions should be applicable for most non-web applications.

>  I apologize if this is not the appropriate forum,
>  but a lot of the relevant players are here,
>  thus hopefully can/will gauge validity.

	I can only speak for myself, but I have been violently opposed to 
the concept of doing GSLB within the DNS ever since I first heard of 
the idea.  I wouldn't be surprised if you found others on this list 
that feel the same way.

	In the future, if you have SLB questions, you might want to ask 
them on an SLB mailing list, such as Tony Bourke's "lb" mailing list 
at <http://vegan.net/lb/>.

-- 
Brad Knowles, <brad at stop.mail-abuse.org>

"Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety."

     -- Benjamin Franklin (1706-1790), reply of the Pennsylvania
     Assembly to the Governor, November 11, 1755

  LOPSA member since December 2005.  See <http://www.lopsa.org/>.


More information about the bind-workers mailing list