2016-11-19 1 views
0

最近、私はAmazonのキー/バリューストレージシステムであるDynamoの論文を読んでいます。 Dynamoは、パーティションアルゴリズムとして一貫したハッシュアルゴリズムを使用します。負荷分散と異機種間の課題を解決するために、「仮想ノード」メカニズムを適用します。ここに私の質問は:Dynamoの仮想ノード

  1. 「ノードが責任 ある仮想ノードの数は、その能力に基づいて決定することができます」と記載されているが、何容量は はありますか?計算容量、ネットワーク帯域幅、またはディスク ボリュームですか?
  2. ノードを「仮想ノード」に分割する技術とは何ですか?仮想ノードは単なるプロセスですか?または、ドッカーや仮想マシンを使用していますか?
+0

1)Amazonの秘密のソース2)Amazonの秘密のソース –

答えて

0

#1の場合、答えはのすべてです。です。容量は、いくつかの負荷テストを実行し、結果に注目した後、異なるノードタイプに対して経験的に決定されてもよい。 Webサーバーの容量を決定するために使用するものと同様のプロセス。

2番目の質問では、ノードは論理的な立場から考えなければならないと書かれています。 #1を満たすために、1つまたは複数のノードが同じ物理ハードウェアにハッシュするように、リング内のノードが指定される。つまり、仮想ノードは単なる論理マッピングに過ぎません。物理層の上に抽象レイヤーが1つだけ追加されています。ファイルシステムに精通している場合は、iNodeのような仮想ノードとディスクシリンダを考えてみてください。(おそらくやや古いものです)