2016-11-19 52 views
0

最近,我閱讀了Amazon的關鍵/值存儲系統Dynamo的論文。 Dynamo使用一致的哈希算法作爲分區算法。爲了解決負載均衡和異構的挑戰,它應用了「虛擬節點」機制。這裏是我的問題:Dynamo中的虛擬節點

  1. 據記載,「一個節點是 負責虛擬節點的數量可以決定基於其能力」,但什麼容量它 是什麼?它的計算容量,網絡帶寬或磁盤的容量是多少?
  2. 將節點劃分爲「虛擬節點」的技術是什麼?虛擬節點只是一個過程嗎?或者,也許使用碼頭或虛擬機?
+0

1)亞馬遜祕密醬油2)亞馬遜祕密醬油 –

回答

0

沒有進入具體細節,對於#1答案將是:所有以上。在運行一些負載測試並記錄結果之後,可以根據經驗確定不同節點類型的容量。與您將用於確定Web服務器容量的過程類似。

對於你的第二個問題,本文只是說你應該從邏輯的角度考慮節點。爲了滿足#1,環中的節點被指定爲使得一個或多個節點將哈希到相同的物理硬件。所以一個虛擬節點只是一個邏輯映射。它只是物理層之上的一個抽象層。如果你對文件系統很熟悉,可以想象一個虛擬節點,比如iNode和磁盤柱面(比較可能略有過時)