Memcached--分散式演算法演化

ZeroWM發表於2016-09-09



常用的分散式演算法是取模法,但是這種方法有一種弊端,就是多臺伺服器,一臺當機,快取命中率會大幅度降低。






隨後,採用一致性hash演算法,核心思想如下:



一致性hash演算法核心思想:

例如有4臺伺服器,0 8億  16億  24億

如果是age--計算key值--得到13億,那麼就從8億之後順時針找,找到16億。

如果是title--計算key值--得到27億,那麼就從24億後順時針找到0.

如果16億這臺伺服器當機,壓力就直接分攤到24億伺服器上。



引入虛擬節點

就是之前把一臺當機,壓力承載到下一臺伺服器;為A,B,C,分配虛擬節點,A如果當機,可能壓力分攤到B上,也可能分攤到C上。










相關文章