5

我正在使用 PostgreSQL 9.3,并且我已经使用 plproxy 实现了与虚拟节点的一致散列。

在当前设置中,节点之间的节点添加和重新平衡正在工作(服务器之间的数据移动是使用PostgrelSQL 外部数据包装器完成的)。

但是有一个限制。在当前设置中,所有物理节点都被假定为相等。即添加节点时,无法为每个服务器提供虚拟节点计数。我也想建立这种行为。

所以我在问什么是更好的算法来实现这个。目前的算法只是在服务器之间平均分配服务器的虚拟节点容量。在新算法中,我希望看到虚拟节点移动的最小量。

前任:

假设我们有 4 个服务器的集群,每个服务器有 64 个虚拟节点(总共 256 个虚拟节点)。我想添加具有 200 个(或一定百分比的虚拟节点)虚拟节点的服务器(服务器 X),以便每 4 台服务器对这个新服务器做出同等贡献,从而在一定程度上满足其虚拟节点数。

但是当添加新节点(即服务器 X )时,我不想为该服务器分配所有 200 个节点。我需要一种算法来从现有服务器中分配一些百分比,以便在一定程度上满足新服务器的 200 个节点的需求,并且以前的 4 个服务器不会大量丢失虚拟节点数。

在物理服务器之间划分虚拟节点的更好策略是什么?

4

0 回答 0