DekGenius.com
[ Team LiB ] Previous Section Next Section

Recipe 11.13 Distributing Load Evenly Between Several Servers

Problem

You want to serve the same content from several servers and have hits distributed evenly among the servers

Solution

Use DNS round-robin to have requests distributed evenly, or at least fairly evenly, among the servers:

www.example.com.   86400    IN   A  192.168.10.2
www.example.com.   86400    IN   A  192.168.10.3
www.example.com.   86400    IN   A  192.168.10.4
www.example.com.   86400    IN   A  192.168.10.5
www.example.com.   86400    IN   A  192.168.10.6
www.example.com.   86400    IN   A  192.168.10.7

Discussion

This example is an excerpt from a BIND zone file. The actual syntax may vary, depending on the particular name server software you are running.

By giving multiple addresses to the same hostname, you cause hits to be evenly distributed among the various servers listed. The name server, when asked for this particular name, will give out the addresses listed in a round-robin fashion, causing requests to be sent to one server after the other. The individual servers need be configured only to answer requests from the specified name.

Running the host command on the name in question will result in a list of possible answers, but each time you run the command, you'll get a different answer first:

% host www.example.com
www.example.com has address 192.168.10.2
www.example.com has address 192.168.10.3
www.example.com has address 192.168.10.4
www.example.com has address 192.168.10.5
www.example.com has address 192.168.10.6
www.example.com has address 192.168.10.7
% host www.example.com
www.example.com has address 192.168.10.7
www.example.com has address 192.168.10.2
www.example.com has address 192.168.10.3
www.example.com has address 192.168.10.4
www.example.com has address 192.168.10.5
www.example.com has address 192.168.10.6

Make sure that when you update your DNS zone file, you also update the serial number, and restart or reload your DNS server.

See Also

  • DNS and Bind by Paul Albitz and Cricket Liu (O'Reilly)

    [ Team LiB ] Previous Section Next Section