一致性Hash

  • 背景
    • 分布式服务器中增删节点时,数据迁移和访问带来一定不确定性,传统 Hash 能确保每次访问准确命中数据所在服务器,在增删节点情况下 需要重新Hash代价较大
  • 原理
    • 利用Hash对一个很大的数据(232)进行取模 [很大数据比目标扩容的最大数更大即可]
    • 取模后的值域可组成一个圆形的数据区间,每次查找数据时 在 圆数据区间中顺时针查找所在服务器

       

       

    • 在动态扩缩容时,无需重新Hash,只需迁移少量的数据即可 

  • 数据倾斜怎么办
    • 采用虚拟节点,在环中新增多个虚拟节点
    •  

       

 

posted @ 2021-07-01 11:14  因分享而收获  阅读(39)  评论(0)    收藏  举报