把服务器的IP或者主机名作为key对2^32求余,余数一定是2^32-1,然后放到(平行映射)0~2^32次方首尾相连的环上。
 
  理想状态下服务器会均匀分布在这个环上,当数据存储时,依然把key对2^32进行求余,然后分布在hash环上,并且按顺时针就近存储。
  如果 某一个节点失效,那么仅仅会影响 该节点的数据,对其他节点无影响!
  上图仅仅是理想状态下,因为服务器IP或者主机名取模后,有可能造成偏斜,既:节点没有均匀分布在hash环上,而是挤在了一起。
  这样的情况下node1 承载的数据量是最大的!这种情况下产生了一种虚拟服务器的概念。例如我们有三台缓存服务器,单台服务器经过某种算法取模,会得到N个虚拟点,这些虚拟点均匀的分布在hash环上,就解决了hash环偏斜的问题。

最新文章

  1. ECMASCript2015 提案 stage-3的对象展开运算符
  2. 12.PHP内核探索:PHP的FastCGI
  3. ASP.NET 分页控件
  4. linux中socket的理解---4
  5. 安装Android sdk 4.4(19)出现问题的解决方案
  6. Asp.Net MVC 3【URLs, Routing,and Areas】续
  7. uboot环境变量与内核MTD分区关系
  8. [About me] 关于Alima博主
  9. Android Intent的花样启动
  10. 输入三个整数x、y、z,请把这三个数由小到大输出
  11. pymysql安装和使用
  12. [Other] Nuget 构建服务器与常用命令
  13. 经典面试题:一张表区别DOM解析和SAX解析XML
  14. Mac下全局安装yarn
  15. 硬件笔记之MacMini开启HiDPI
  16. IDEA上的项目托管到码云步骤
  17. Mongo数据两表关联创建视图示例
  18. 20155211《网络对抗》Exp02 后门原理与实践
  19. Visio分类
  20. 【数论】nefu119 组合素数

热门文章

  1. 【个人笔记】关于C++小数的处理
  2. 再见NullPointerException。在Kotlin里null的处理(KAD 19)
  3. jmeter接口测试--响应结果Unicode转码成中文
  4. [HNOI2012]三角形覆盖问题
  5. for循环再探
  6. 搭建springmvc项目没扫描到mapper和service
  7. web相关基础知识2
  8. Vue2.0 新手完全填坑攻略——从环境搭建到发布(转载)
  9. SPOJ HIGH(生成树计数,高斯消元求行列式)
  10. 洛谷 P3477 [POI2008]PER-Permutation 解题报告