Sharding Techniques at Mixpanel Engineering
code.mixpanel.com
code.mixpanel.com
You could use DNS to transmit the server info eg. do a lookup on a4.c7.3a.d4.ec.1f.5d.f4.c6.f6.5f.77.f3.71.f5.3d.fa.e8.ea.15.cluster.foo.com
In your DNS server just have a record for *.15.cluster.foo.com this effectively gives you a /8 on a 256-bit routing space. To find all the servers you need to query to query the entire keyspace just ask for an AXFR request on cluster.foo.com. This system also makes mirroring and partitioning extremely simple. Say you have disparate servers that can handle disparate amounts of data? Just turn your smaller servers into /9s
Note if you're considering implementing this there are some patent applications around it. Look in my profile if you want to code around the patent application.
Misplaced snark is misplaced.