架构师训练营 - 第五周作业
问题:
解题:
1. 模拟 master 节点与 server 节点
类型定义
复制代码
1. 添加 Server 节点
添加节点的思路比较简单,用随机数生成若干虚拟节点,并存储虚拟节点 hash 值与真实节点的映射关系
复制代码
2. 计算给定 key 应存放的节点
寻找节点的思路也比较简单,根据 key 的 hash 值,使用二分查找找到合适的虚节点,并把虚节点对应的真实节点返回即可。
复制代码
测试结果
第一轮测试为作业要求,测试算法的均衡性
第二轮测试为模拟添加一个较强性能的节点,测试“性能”属性的效果
复制代码
标准差:
测试 1:
最大值:1202225, 最小值:873655
标准差:107772.07854,
测试 2:
最大值:1198557, 最小值:811913
标准差:106665.37442
测试 3:
最大值:1102031, 最小值:899506
标准差:56236.60706
版权声明: 本文为 InfoQ 作者【Mark】的原创文章。
原文链接:【http://xie.infoq.cn/article/7fbaddf2a6e759f00515d7f8d】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论