分片规则一致性哈希

一致性哈希

  • 一致性 Hash 算法将整个哈希值的空间组织成一个 0~2(32) 次方的虚拟的圆环
  • 然后再求出分片服务器的 Hash 值, 根据分片服务器的 Hash 值将服务器配置到虚拟的圆环对应的位置
  • 然后再求出需要保存数据键的 Hash 值, 根据求出的值在虚拟的圆环 顺时针 方向上存入对应的分片服务器中
  • 如果保存数据键的 Hash 值超过 2(32) 次方,就会保存到第一台分片服务器上

image-20211226204450818

假设如上图所示,我们的 hash 值为 1, 它在服务器1和服务器2之间那么它会进行顺时针的进行存储,也就是说会存储到服务器1当中,如上图画的比较简陋,但是大致意思就是如上图,如果新增了分片服务器,那么只需要迁移新增服务器之前的服务器与当前新增服务器的这段数据即可,其它位置的服务器分片都不需要进行改变, 采用一致性哈希会造成数据倾斜等问题,因为如果你的数据哈希值如果在服务器1和服务器2之间那么就会按照顺时针存储到服务器1当中那么,在访问的时候就会造成访问服务器1的比较多,这就造成了数据倾斜问题。

hash

hash2

posted @   BNTang  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示