ketama consistent hashing update
Dustin Sallings
dustin at spy.net
Fri Aug 10 16:57:28 UTC 2007
On Aug 10, 2007, at 5:46 , Mikael Johansson wrote:
> Some sort of standardization on a hash function and how the servers
> are mapped
> would be much appreciated, I only used CRC32 because it's already
> available and
> generates a nice 32-bit hash, but switching to FNV or something
> other should be
> trivial given that an open source implementation compatible with
> the PHP license
> exists.
It seems to me like it would be better to standardize the mechanism
separately from the hash function and have minimal requirements on
the hash function availability.
It's a subtle difference, but there are two separate issues here and
I don't think there's a good reason for them to become too tightly
coupled in specification.
In my implementation, I have HashAlgorithms and NodeLocators. That
allows me, for example, to mix the consistency of ketama with the
constant-time (approximately, due to memoization) hashing of java's
native hash where I only have java clients. If I start mixing client
languages, I can immediately use the baseline hash or implement
java's hashing in other languages.
--
Dustin Sallings
More information about the memcached
mailing list