Splitting the Internet into five pieces would split the load across the caches almost evenly. Some of you will know what a hash function is. If you have 5 cache servers, you split up the domain of possible answers into 5 parts. With a good hashing function, the numbers returned are going to be spread across the 5 parts evenly, which spreads your load perfectly. If you have a cache which is twice as powerful as your others, you can allocate it more of the domain, and put more load on it.
Browsers can also use CARP to decide which cache to talk to, using a java auto-config script.