Better server selection client code?
Jeetendra Mirchandani
jeetum at gmail.com
Thu Oct 19 08:18:30 UTC 2006
On Wed, 2006-10-18 at 05:13 +0000, Christopher Baus wrote:
> > ----
> > "I've been toying with idea of using consistent hashes with memcached,
> > but I don't really have enough servers for it to be worth it.
> >
> > http://www8.org/w8-papers/2a-webserver/caching/paper2.html
> >
> > Leon"
> > ----
> >
>
> That could be very cool. I read up on consistent hashes for load
> balancing crawlers. The promise of repartitioning the hash space at run
> time almost seems like a miracle. Memcached is probably the perfect place
> for implementing consistent hashes since the client and server is under
> the sysadmin's control, unlike the web.
But here you can have a problem of load distribution. According to the
algorithm, if 2 servers map to points very close on the unit circle, the
load distribution will be screwed badly.
possible solution - dont use hashing for mapping servers to the unit
circle, instead maintain a map, and pick the longest arc to place the
new server.
The paper also mentions in section 2.2:
<snip>
For technical reasons detailed in [6], it is quite important to make a
small number of copies of each cache point--that is, to map several
copies of each cache to different ``random'' points on the unit circle.
This produces a more uniform distribution of URLs to caches.
</snip>
This will also provide a good failover, as discussed here:
http://lists.danga.com/pipermail/memcached/2006-October/002856.html
Thoughts?
--
Regards,
Jeetu
http://www.cse.iitb.ac.in/~jeetu
"The law of evolution is that the strongest survives!"
More information about the memcached
mailing list