举个例子,比如生成一个编号的空间1-10 现在两台机器,小于5的编号存到A机器上,大于5的存到B机器上, 这样查询的时候根据id就可以知道存在哪台机器上,如果后来增加一台机器,按编号1-3,3-6,6-10这样平均切分,就可以将流量继续分摊,但是这样对于原来的对应关系就乱了,比如编号8 ,最早是存在B机器上,但是现在可以存在C机器上,不能一步就定位,有什么好的办法,在增加机器以上,保证原来的定位规则不变吗?
1
rrfeng Nov 10, 2013
HASH 的时候加入一个 server id ,比如 ip/hostname
|
2
wy315700 Nov 10, 2013
一致性哈希
|
3
polythene Nov 10, 2013
|
4
Livid MOD PRO 用机器 IP 作为 hash 算法的输入
id = hash(server.ip) |
5
yakczh OP 这种是不是意味着key的最大空间是2^32?
|