memached分布式算法

memached的分布式算法有2种,有客户端决定实现算法种类

 

根据余数计算分散

Memcached的分布式方法简单来说,就是“根据服务器台数的余数进行分散”。 求得键的整数哈希值,再除以服务器台数,根据其余数来选择服务器。

 

根据余数计算分散的缺点

余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。 那就是当添加或移除服务器时,缓存重组的代价相当巨大。 添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。

 

Consistent Hashing如下所示 :首先求出memcached服务器(节点)的哈希值, 并将其配置到0~232 的圆(continuum)上。 然后用同样的方法求出存储数据的键的哈希值,并映射到圆上。 然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。 如果超过232 仍然找不到服务器,就会保存到第一台memcached服务器上。

 

现在已Consistent Hashing算法为主

你可能感兴趣的:(算法,memcached)