更新時間:2023-05-30 來源:黑馬程序員 瀏覽量:
分片集群主要解決的是,海量數據存儲的問題,集群中有多個master,每個master保存不同數據,并且還可以給每個master設置多個slave節點,就可以繼續增大集群的高并發能力。同時每個master之間通過ping監測彼此健康狀態,就類似于哨兵模式了。當客戶端請求可以訪問集群任意節點,最終都會被轉發到正確節點。
主從和哨兵可以解決高可用、高并發讀的問題。但是依然有兩個問題沒有解決,海量數據存儲問題和高并發寫的問題。
使用分片集群可以解決上述問題,分片集群特征:
?集群中有多個master,每個master保存不同數據
?每個master都可以有多個slave節點
?master之間通過ping監測彼此健康狀態
?客戶端請求可以訪問集群任意節點,最終都會被轉發到正確節點
Redis集群引入了哈希槽的概念,有16384個哈希槽。集群中每個主節點綁定了一定范圍的哈希槽范圍,key通過CRC16校驗后對16384取模來決定放置哪個槽,通過槽找到對應的節點進行存儲。