当前位置: 首页 > news >正文

分布式数据分片怎么做

一致性哈希的核心是增量迁移。普通取模,节点数一变,所有 数据都要重新分布。一致性哈希用哈希环,节点变化只影响格 邻区间,数据迁移量可控。举个例子,原来3个节点,现在加 到4个节点,只有1/3的数据需要迁移。
那一致性哈希环怎么构建?节点怎么分布?
哈希环本质是把节点和Key都映射到一个环形空间。节点! 的哈希值是100,节点B是300,节点C是600,环从0到 99。那哈希值150的Key,会落在A和B之间,由A负责。 具体实现上,有两种方式
第一种是排序后二分查找,把所有节点哈希值排序,查找 第一个大千等于Key哈希值的节点。 第二种是TreMapceilingkey,0(logN)时间复朵度。 我之前用TreeMap实现过,代码很简单。
虚拟节点是解决什么问题的?
解决数据倾斜。如果3个节点的哈希值分别是100、400、800,环上100到400的区间有300个位置,400 到800只有400个,800到100要跨环有300个--数 据分布不均匀。
虚拟节点的解法是:每个物理节点映射100个虚拟节点 ,比如节点A有A-1、A-2到A-100,都在环上均匀分布。这样实际数据会均匀散列到虚拟节点上,再映射回物 理节点。

总结:一致性哈希的本质:节点和数据映射到环形空间,数据找最近节点。
核心:节点变化只影响相邻区间数据,其他数据完全不受影响。

哈希环的java实现
用TreeMap一行代码搞定--把每一个节点的哈希值作为Key存进TreeMap,查询时,用ceilingEntry方法找大于等于Key哈希值的最小节点,如果找不到就返回环起点(firstEntry),这就是顺时针找最近节点的逻辑。
换句话说,哈希环的核心就是“找一个就近的节点”,treeMap帮你干了这事。

虚拟节点解决数据倾斜
物理节点只有3个,哈希值分布在环上可能很近,导致数据分布不均匀。
虚拟节点的解法:每个物理节点生成100个虚拟节点(比如“nodeA-v0”到“nodeA-v99”),哈希值分布在环上。查询时从TreeMap找到虚拟节点,再映射回物理节点。100个虚拟节点能让数据分布的方差缩小到原来的1/100.

三个常见的应用场景:
场景一:Redis集群分片。Redis Cluster用的是槽(16384个),本质上是一致性哈希的离散分布版本。
场景二:Kafka分区分配。新消费者加入消费者组时,用一致性哈希分配分区,最小数据迁移。
场景三:CDN就近访问。用户请求映射到最近的CDN节点,减少延迟。

最后总结:一致性哈希不是什么高深理论,就是一个“环”加一个“找最近的节点”。

http://www.gsyq.cn/news/1496063.html

相关文章:

  • 智能象棋助手VinXiangQi:深度学习如何让AI看懂中国象棋棋盘
  • 2026年6月值得信赖的温和洗面奶品牌有哪些推荐,氨基酸/控油/敏感肌温和洗面奶生产厂家选择指南 - 海棠依旧大
  • 酒精流量计定制厂家行业现状与技术选型分析 - 优质品牌商家
  • 2026年超声波熔接机设备供应商综合能力分析报告 - 优质品牌商家
  • 从“创新之城”到“AI认知高地”——2026年深圳企业GEO选型实战指南 - GEO优化
  • 从‘膨胀的木棍’到‘弯曲的钢轨’:实数二分法在工程计算中的一次有趣实践
  • AlistHelper终极指南:3步图形化管理Alist,告别命令行烦恼
  • 8G显存也能跑35B?RTX3070本地部署Qwen3.6-35B-A3B多模态大模型完整教程
  • 2026年6月值得信赖的加厚注浆钢管生产厂家推荐:加厚注浆钢管、超前小导管、管棚管源头工厂选择指南 - 海棠依旧大
  • 如何轻松快速地将音乐从 Redmi 手机传输到 Redmi
  • 别再手动折腾了!用Docker Compose一键部署DzzOffice+OnlyOffice协同办公平台(附完整配置文件)
  • 如何免费下载B站4K大会员视频:终极开源解决方案指南
  • 如何快速掌握BiRefNet图像分割:5个实战技巧与避坑指南
  • 2026年北京宾馆特行许可证与排水排污许可证办理服务行业分析:品牌机构与流程指南 - 优质品牌商家
  • 别再硬编码AccessKey了!SpringBoot整合阿里云短信服务的安全配置最佳实践
  • AI 驱动的索引推荐系统:从工作负载特征到自动索引创建
  • sn曲线三维图形
  • ChatGPT“锁定模式”全面开放:防数据窃取但有操作限制,用还是不用?
  • 如何将音乐从荣耀手机传输到荣耀手机?
  • 基于MC13145/46芯片组的FSK全双工无线数据链路设计与实现
  • 从用户体验出发:聊聊Vue项目里Loading动画的那些‘坑’与最佳实践(含性能优化)
  • Scrape Center SSR1爬虫实战:从数据抓取到自动生成电影数据分析报告
  • 如何快速掌握Akagi麻将AI助手:新手的完整入门指南
  • 婴儿游泳行业安全事故频发:场所安全与产品安全责任交叉
  • 解密分布式视频监控:WVP-GB28181-Pro的突破性架构设计
  • 嵌入式开发必读:从K10数据手册解析外设电气规格与通信时序设计
  • 51单片机双路超声波侧向防撞系统:带LCD实时显示、阈值调节与Proteus可仿真工程
  • 技术社区的ROI:如何科学选择Discord开发者社区最大化你的成长回报
  • 118、飞控中的通信协议:MAVLink详解
  • 读多写少?别急着上 QReadWriteLock,项目里可能更慢