Redis Cluster的分布式寻址算法(什么是一致性Hash算法+Hash槽)是怎样的?[面试5.0]有一个Hash环,环上有2的32次方个点
先对节点取hash值将节点映射到环上
再对Key计算hash值(跟2的32次方取模得到圆环上的坐标)
沿顺时针找到第一台服务器并将值保存在该节点上
优点: 缓存服务器的数量发生改变后,不会导致所有缓存都失效(因为不仅仅依赖hash取模得到的值,而是多加了采用顺时针找的方式这个条件)
缺点: 会产生hash偏斜,即求出来的hash值的缓存服务器可能比较集中在一边,不均匀分布,解决方式就是采用虚拟hash节点(如redis采用的是16384个hash槽)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)