Solved

custom DNS based load balancing

Posted on 2006-10-29
9
334 Views
Last Modified: 2010-03-19
I have N content servers at different providers that can each serve up to 50mbps of traffic. I want to distribute incoming requests equally so that they each get about 1/N of all incoming requests. The margin is 10%, so each node should get between 0.90/N and 1.10/N of all requests.

One scalable solution I'm considering is using our own custom DNS server. Each query will return the A record for a randomly selected node.

My question to you guys is: do you think this scheme will help achieve the distribution accuracy I'm looking for, given a large number of requests? If so, are there any premade (open source) packages to achieve this and which TTL would be ideal?
0
Comment
Question by:piximetry
  • 3
  • 3
9 Comments
 
LVL 79

Expert Comment

by:lrmoore
ID: 17830695
Any recent version of DNS server will automatically "round-robin" any/all CNAME records to multiple A records for any particular domain name. .  .
http://www.webopedia.com/TERM/R/Round_Robin_DNS.html
http://hacks.oreilly.com/pub/h/79
0
 

Author Comment

by:piximetry
ID: 17830912
We're not interested in round robin DNS, because that's exactly the method that won't work for us given a higher value for N.

The difference is that in one case you give all servers in your entire pool and in the other, you give only one address, but randomly selected from a potentially much larger pool.

My question is whether the second method will work properly or the distribution will be too non-uniform.
0
 

Expert Comment

by:Sam8rown
ID: 17838103
I doubt you're going to get the high level of balancing you're asking for from DNS alone, which has always been the poor man's answer to load balancing. All it's going to take to break that demand is one of your random responses getting cached at a high-volume traffic source somewhere on the internet. If your needs for uniform distribution of load are so tight, why not hang your servers off a load balancing switch, such as something from Cisco's CSS11500 series?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:piximetry
ID: 17838579
I don't want all servers to be forced to be located at the same DC. Being able to spread content servers out over DCs and even countries is what I want.

The nice thing about a high-volume traffic source like e.g. AOL is that they're very likely to cache the content, which should mitigate the effect, so it may not be *that* bad in practise.

As far as I know, it's cheaper to get more bandwidth to make up for any inaccuracies than it is to buy Cisco gear.
0
 
LVL 79

Accepted Solution

by:
lrmoore earned 400 total points
ID: 17838584
A load balancing switch will work if all servers are local to one another like in a data center, but if they are geographically distant, then you might want to look at something like Cisco's Distributed Director (DNS on steriods)
http://www.cisco.com/en/US/products/hw/contnetw/ps813/products_tech_note09186a00801fa9dd.shtml
0
 
LVL 79

Expert Comment

by:lrmoore
ID: 17838596
> it's cheaper to get more bandwidth to make up for any inaccuracies than it is to buy Cisco gear.
Not in this case. Most any 2600 series router with a memory upgrade should work.
Bandwidth = monthly recurring charge forever
Cisco product = 1-time capital outlay, 5 year depreciation cycle.
Guaranteed that over 5 years the hardware is much less expensive, and you can even sell it as used gear when you're done with it.
You can't sell unused bandwidth on ebay..
0
 

Author Comment

by:piximetry
ID: 17841243
You have a pretty valid point. However, we rent all of our servers and don't own our own equipment. The reason for that is that we don't want to be stuck to a particular DC or certain hardware.

The link you gave is interesting though: I might be able to make a lightweight variant of that for my own particular purpose.

To aid that purpose: would you be able to tell anything about how I can correlate IPs/IP ranges with a rough approximation of traffic level? This data can be used for assigning weights.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

I've written instructions for one router type, but this principle may be useful for others of the same brand and even other brands of router. Problem: I had an issue especially with mobile devices that refused to use DNS information supplied via…
#Citrix #Citrix Netscaler #HTTP Compression #Load Balance
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now