Dynamo中的虚拟节点

时间:2016-11-19 12:50:06

标签: amazon-dynamodb distributed-system

最近我读过亚马逊关键/价值存储系统Dynamo的论文。 Dynamo使用一致的散列算法作为分区算法。为了解决负载均衡和异构的挑战,它应用了“虚拟节点”机制。这是我的问题:

  1. 描述“节点所在的虚拟节点的数量 责任人可以根据其能力决定“,但它的能力是什么 是什么?是计算容量,网络带宽还是磁盘 音量?
  2. 将节点分区为“虚拟节点”的技术是什么?虚拟节点只是一个过程吗?或者也许使用docker或虚拟机?

1 个答案:

答案 0 :(得分:0)

没有详细说明,对于#1,答案是:以上所有。在运行一些负载测试并记录结果之后,可以根据经验确定容量以用于不同的节点类型。与用于确定Web服务器容量的过程类似的过程。

对于你的第二个问题,本文只是说你应该从逻辑角度考虑节点。为了满足#1,指定环中的节点,使得一个或多个节点将散列到相同的物理硬件。因此,虚拟节点只是一种逻辑映射。它只是物理层之上的另一层抽象。如果您熟悉文件系统,请考虑一个虚拟节点,如iNode与磁盘柱面(比较可能稍微过时)