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


Reply via email to