一致性hash演算法中保持舊的對映關係

2021-09-24 10:10:48 字數 648 閱讀 8888

一致性hash 在新增節點的時 雖然舊的key不會對映到 老的快取資料上 但舊的對映關係還是會有少量的遷移至新增節點

問題需要遷移的對映關係中關聯的節點有大量的快取資料

1如果資料庫資料還好 可以存庫再轉移資料 但存庫和讀庫是非同步

2業務邏輯複雜 記憶體中有大量的記憶體資料 無法做到所有資料統一marshal後 在同步給另乙個節點

猜想方案 尚未實踐

1 對節點的對映關係 在邏輯中留存已有的對映 如果老的節點有快取資料 也就是對映關在業務邏輯中有呼叫 就跳過hash計算

2 當前業務前提下 一致hash優化猜想

正常一致hash流程是 對所有節點hash出虛擬節點 分配數值邊界 對虛擬節點之間的數值進行捕獲 建立對映

優化目標在不影響一致hash的均衡 分散的特性下 在一致hash演算法中優化保持舊的對映關係

標準流程實在整型域中hash 然後查詢對映

更改a提前對乙個固定的數值域 進行細化分配 如拆分數值10000 隨機均勻分配數值到每個節點 此時數值狀態是已建立對映 等待建立快取關係

b儲存每個節點建立起快取關係的值

c新增節點時 打亂為未建立快取關係的值 按照可分配數量建立權重 重新分配至每個節點

一致性hash演算法 面試必備 一致性hash演算法

最近公司在招人,我們準備的問題中有一道是關於一致性hash演算法的問題,只有一些面試者能夠回答上來,而且答的也不是很全面,有的面試者只是聽說過,有的連聽都沒聽過,下面我把一致性hash演算法整理一下分享給大家 一致性雜湊演算法在1997年由麻省理工學院的karger等人在解決分布式cache中提出的...

一致性hash演算法虛擬節點 一致性hash演算法

hash 演算法也叫做雜湊演算法,他可以讓任意長度的資料m對映成為長度固定的值h。hash演算法的第乙個作用就是資料的快速儲存與查詢。寫過程式的人都知道,基本上主流的程式語言裡面都有個資料結構叫做map dictionary或者 hash table 它是根據key來直接訪問結果的資料結構。key的...

一致性hash演算法

july部落格16章開始 第一題 全排列,輸入乙個字串,列印出該字串中字元的所有排列 1.個人思路 回溯法建立的排序樹 2.july部落格 遞迴實現,依次固定第乙個字母,後面的交換,和上面描述的使用回溯法相似 c stl 演算法 next permutation的思想,關於next permutat...