redis cluster集群簡單描述

2021-10-08 16:45:52 字數 903 閱讀 8970

redis2.9版本出現了redis-cluster,測試版本,從3.0正式推出redis-cluster,這個結構的出現徹底解決了搭建使用高可用分布式集群的難處

redis-cluster是乙個既可以高可用主從故障轉移,也可以分片計算,分布式處理資料.從結構上來看比之前高可用分布式做了變換,但是主從複製,故障轉移依然存在.分布式計算邏輯不是hash取餘,不是一致性hash,hash槽道

搭建的集群中,會有16384個槽道被分配給多個節點,每個節點管理其中一部分槽道

分布式計算定義 的計算方法已經是hash槽,外界客戶端無論使用哪種分布式計算邏輯,在集群內部都會重新計算分片.

當資料到達某個節點之後,暫時先不處理資料,這個節點作為集群一員先要計算槽道邏輯

1.hash取模 得到0-16383之間整數 

2.節點判斷這個整數是否在當前節點管理範圍 

3.重定向的節點重新執行上述邏輯. 

4.資料遷移 

在當前槽道邏輯中,槽道和資料key強耦合,槽道和節點是松耦合,可以將槽道遷移到別的地方,資料也會一併遷移,接觸了key和節點強耦合關係

換一種方式重新描述一下客戶端訪問集群任何乙個節點的過程

當客戶端訪問集群任何乙個節點:

1.key值計算hash取模得到slot槽道 

2.當前節點判斷slot歸屬權 

3.如果歸屬權為false -----重定向客戶端到正確節點 

4.如果歸屬權為true ------直接處理當前客戶端命令 

Redis Cluster集群原理

一 redis cluster 官方推薦的 redis 集群解決方案,優點在於去中心化,去中介軟體,也就是說,集群中的每個節點都是平等的關係,都是對等的,每個節點都儲存各自的資料和整個集群的狀態。每個節點都和其他所有節點連線,而且這些連線保持活躍,這樣就保證了我們只需要連線集群中的任意乙個節點,就可...

redis cluster 集群重啟關閉

找遍了redis cluster官方文件,沒發現有關集群重啟和關閉的方法。為啥會沒有呢,猜測redis cluster至少要三個節點才能執行,三颱同時掛掉的可能性比較小,只要不同時掛掉,掛掉的機器修復後在加入集群,集群都能良好的運作,萬一同時掛掉,資料又沒有備份的話,就有 煩了。redis clus...

Redis Cluster集群故障轉移

1.故障發現 1.1 主觀下線,redis集群通過gossip的ping,pong訊息來互相通訊,比如a節點向b節點傳送ping,如果在 cluster node timeout時間內一直失敗,則節點a會認為b是主觀下線,同時將此狀態資訊在集群內廣播 1.2 客觀下線,當半數以上的持有槽的主節點都標...