版本向量

維護一個計數器清單,每個叢集節點一個,以偵測並發更新

問題

如果多個伺服器允許更新同一個金鑰,則在多個複本之間並發更新值時,偵測這一點非常重要。

解決方案

每個金鑰值都與一個版本向量關聯,該向量維護每個叢集節點的一個數字。

基本上,版本向量是一組計數器,每個節點一個。三個節點(藍色、綠色、黑色)的版本向量看起來會像這樣:[藍色:43,綠色:54,黑色:12]。每次節點有內部更新時,它都會更新自己的計數器,因此綠色節點中的更新會將向量變更為 [藍色:43,綠色:55,黑色:12]。每當兩個節點進行通訊時,它們會同步其向量戳記,讓它們可以偵測任何同時更新。

如需更多詳細資訊,請前往 oreilly.com 上的線上電子書 第 18 章

此模式是 分散式系統模式 的一部分

2023 年 11 月 23 日