找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2368|回复: 5
收起左侧

[面经题目讨论] 分享一个Consistent Hash的实现

[复制链接]

6

主题

2

精华

66

积分

资深会员

Rank: 2

积分
66
发表于 7-26-2016 02:57 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Sophia 于 7-27-2016 03:23 PM 编辑
( d& Q$ P4 j, G- L# ^* R  R' v2 Y8 ~  P" r3 K/ x

. F. z! _& J3 X% L9 A6 m( x之前面试被问到如何设计一个分布式数据管理系统,其中一个重要的知识点是consistent hash, 给定若干个服务器,可以把数据分配到不同的机子上。; ]; b/ a$ [& Z- L; n5 ?; z
基本原理是 数据 和 机器被影射到同一个Hash 空间,整个hash 空间 [0 到 2^32]构成一个环。 对于任何一个数组X, 在环上离X在顺时针方向上最近的机子被用于存储X。  例如, 有四台服务器A, B, C,D ,下图显示了他们被Hash映射之后在环上的位置。 在数据分配时, 利用同一个hash 函数把数据映射到环上。 K1, K2 被映射到A, B 之间。 则 离K1, K2最近的顺时针方向上的机器, 也就是B,被用于存储K1 和 K2.
9 o2 z  w& \+ V5 }0 z$ Y0 ?. k# i: m( b! r- f$ }
+ [" o. s, ]* b6 L0 f- y
& z0 Z# G0 v. I( A* G
下面这篇文章有Java 版本的 Consistent Hash 实现。其实用SorteMap很容易就实现了。$ ]8 w  Q/ G2 q  n' I
Consistent hash

0

主题

0

精华

3

积分

新米人

Rank: 1

积分
3
发表于 7-27-2016 02:01 PM 来自美国米群网手机版 | 显示全部楼层
感谢stevenChu201分享~~~好人一生平安~~~

781

主题

575

精华

5670

积分

顶级版主

Rank: 9Rank: 9Rank: 9

积分
5670

活跃会员热心会员优秀版主

发表于 7-27-2016 02:22 PM | 显示全部楼层
感谢您的认真和用心的分享!大米满满送上!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表