Sorry, Im a little boring ;) But I red the source code of the new libmemcached library, and it has the same problem with "weighted" feature called MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED.
On Wed, Jun 24, 2009 at 10:00 AM, kroki <[email protected]> wrote: > > On Jun 24, 4:18 am, Robey Pointer <[email protected]> wrote: > > I think you're right. Because points-per-server is proportional to > > (server weight / number of servers), when a server is added or > > removed, the other servers may receive more or fewer points. Probably > > ketama should have used points-per-server = server-weight * K. > > IIRC original libketama implementation uses _fixed total_ number of > points > derived from the size of the shared memory region they reside in, > hence the > change per server on server add/remove. > > Though many memcached clients implement consistent hashing, most > provide their own implementation of the algorithm, rather than link > with > libketama directly. For instance, in Perl client > Cache::Memcached::Fast > we use fixed points-per-server = server-weight * K, likely other > clients do > the same. > > tomash > -- --pau
