1. 程式人生 > >redis的哨兵叢集模式

redis的哨兵叢集模式

由於redis的響應速度快,每秒支援的併發極高(號稱10萬),現在redis越來越流行了

redis支援的儲存有: string, hash(map),list, set, sortset 同時可以使用redis的setnx 來實現分散式鎖

首先談談redis的哨兵模式:

哨兵支援對主從的監控,並且當主節點掛機之後,可以啟動從節點升級為主節點繼續提供服務

同時哨兵也支援對客戶端提供發現服務,客戶端通過連線哨兵從而獲取主節點的資訊,如果主節點掛機,在升級從節點為主節點之後,客戶端通過哨兵可以連線上新的主節點

主節點和從節點之間通過同步寫命令來保持資料一致(在啟動的時候會立刻先同步主節點的快照,儲存主節點的資訊)

判斷節點是否宕機並且需要重啟需要幾個哨兵協同判斷,當一定數量的哨兵(可配置) 認為主節點宕機才會去升級從節點

接下來談談redis的叢集模式

redis叢集從多主多從共同支撐,至少需要三個主節點才能啟動叢集

每個叢集包含 16384個槽 ,每一個主(從節點負責同步主節點的資料)負責儲存其中的某一個槽,redis 通過對key的hash 確定儲存在哪一個槽上面,

當需要加入新的節點或者刪除節點的時候 ,redis 會去維護不同主節點上面的槽,從而重新分配槽的所屬