一致性hash

(1 min to read)

将大量请求均匀分配到分布式系统中对应的机器上。

需要解决机器扩容缩容的问题。

用$2^{32}$作为模数。

机器用IP地址进行哈希,数据也进行哈希,构成一个哈希环。

每个数据按照顺时针找到第一个机器。这样插入和删除机器只会影响到逆时针的一部分数据。

通过虚拟节点来提升平衡性。

每个机器对应多个逻辑上的位于哈希环上不同位置的虚拟节点。