c# Hash一致算法负载均衡(KetamaHash)项目升级
2024-09-25 19:42:06
其实就是我最近写的一个项目,采用Hash一致满足负载均衡。Hash一致环带虚拟节点。
在前面的博文中说明了我采用的方法,MurmurHash+红黑树(底层其实是sortedlist).经过多次测试结合的。
但是最近2天研究测试,发现是我没有理解红黑树(其实最慢的是返回当前Key右侧最近的节点)。我的方法实现有问题,造成了整个方法慢。现在找到了方法能够快速返回,并且查找也快。
所以对红黑树扩展了方法TialNode方法来满足Hash一致负载均衡。(该方法是建立在红黑树的特点上)。所以移除了底层的sortedlist.重新恢复使用红黑树。
也就是说现在的Hash一致负载均衡完全使用MurmurHash+红黑树。
当前项目已经更新了。我的笔记本测试,100个真实节点,每个节点160个虚拟节点,10万次测试速度不到1秒。百万次测试速度在4秒左右完成。项目中有测试代码可以直接跑。
项目地址:
https://github.com/jinyuttt/KetamaHash.git
最新文章
- java 集合
- console在调试中的常见用法
- MySQL 锁问题
- callee
- (转)The AlphaGo Replication Wiki
- Easyui CSS式样重写
- Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法
- [转]glew, glee与 gl glu glut glx glext的区别和关系
- MYSQL数据库性能调优之二:定位慢查询
- iOS 获取通讯录里边的电话号码AddressBook
- LINUX 循环fork()
- css实现超连接按钮形式显示
- IOC容器的依赖注入
- iOSImagesExtractor for mac 快速拿到iOS应用中所有的图片资源
- xBIM WeXplorer xViewer 基本应用
- ES5-ES6-ES7_数组的扩展
- malloc/free 和 new/delete
- 分布式监控系统Zabbix3.4-钉钉告警配置记录
- Delphi 的 Bit
- solr简介、学习详细过程!(超详细~)