一致性hash应用-分表扩容
2024-08-23 22:30:41
之前给项目里的一个5000多万的表做了水平分表,暂时容量还够,用的根据id一致性hash分了32个表,每个表大概百来万数据。虽然还不需要扩容,但是准备写个demo后续如果需要扩容可以参考
hash方法用的md5,虚拟节点每个表插入了128个,扩容的时候如果按照2的倍数扩大,迁移率每个表大概在0.5左右
用一个TreeMap存放虚拟节点
private static SortedMap<Long, String> virtualMap = new TreeMap<>();
hash方法
初始化一致性hash,返回统计map
根据id获取表
测试下
结果
代码可以在Github上找到
本文来自chentiefeng的博客
最新文章
- 移动端bug~~移动端:active伪类无效的解决方法【移动端 :active样式无效】
- 11个强大的Visual Studio调试小技巧
- SVMtoy
- AngularJs编写指令
- 管理Java垃圾回收的五个建议
- Java [leetcode 37]Sudoku Solver
- [POJ2234]Matches Game
- linux IO 内核参数调优 之 原理和参数介绍
- xml解析案例
- Cordic算法——圆周系统之向量模式
- List Set Map比较
- Code First 不自动生成数据库
- 对YUV数据进行裁剪
- Mybatis笔记二:接口式编程
- AT91RM9200---电源管理控制器(PMC)介绍
- nyoj-310-河南省第四届省赛题目-二分+dinic
- TCL函数“参数自动补全” 与 “help 信息显示”
- 从汉诺塔游戏理解python递归函数
- Java虚拟机性能监控与调优
- [转载]Elasticsearch索引重建(Rebuild)