最近我读过亚马逊关键/价值存储系统Dynamo的论文。 Dynamo使用一致的散列算法作为分区算法。为了解决负载均衡和异构的挑战,它应用了“虚拟节点”机制。这是我的问题:
答案 0 :(得分:0)
没有详细说明,对于#1,答案是:以上所有。在运行一些负载测试并记录结果之后,可以根据经验确定容量以用于不同的节点类型。与用于确定Web服务器容量的过程类似的过程。
对于你的第二个问题,本文只是说你应该从逻辑角度考虑节点。为了满足#1,指定环中的节点,使得一个或多个节点将散列到相同的物理硬件。因此,虚拟节点只是一种逻辑映射。它只是物理层之上的另一层抽象。如果您熟悉文件系统,请考虑一个虚拟节点,如iNode与磁盘柱面(比较可能稍微过时)