Solved

custom DNS based load balancing

Posted on 2006-10-29
9
348 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
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 

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

Save on storage to protect fatherhood memories

You're the dad who has everything. This Father's Day, make sure your family memories are protected. My Passport Ultra has automatic backup and password protection to keep your cherished photos and videos safe. With up to 3TB, you have plenty of room to hold the adventures ahead.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Xen 6.1, 6.2 Poor NIC performance in ShadowProtect/WinPE 9 73
Unifi AP 4 44
PCI Compliance Free scan 2 74
VIRTUAL NETWORKING 3 23
Data center, now-a-days, is referred as the home of all the advanced technologies. In-fact, most of the businesses are now establishing their entire organizational structure around the IT capabilities.
PRTG Network Monitor lets you monitor your bandwidth usage, so you know who is using up your bandwidth, and what they're using it for.
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…

948 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

22 Experts available now in Live!

Get 1:1 Help Now