redis學習4---集羣

Redis-Cluster採用無中心結構,每個節點保存數據和整個集羣狀態。

所有的redis節點彼此互聯(PING-PONG機制),內部使用二進制協議優化傳輸速度和帶寬。

redis-cluster把所有的節點映射到[0-16383]slot上(不一定是平均分配),cluster 負責維護node<->slot<->value。

Redis集羣預分好16384個桶,當需要在 Redis 集羣中放置一個 key-value 時,根據 CRC16(key) mod 16384的值,決定將一個key放到哪個桶中。


slave

負責一定數量的槽的節點被稱爲master節點,每個master節點可以配置若干個備份節點——稱爲slave節點。Slave節點一般作爲冷備份保存master節點的數據,在master節點宕機時替換master節點。


集羣是如何判斷是否有某個節點掛掉:

首先要說的是,每一個節點都存有這個集羣所有主節點以及從節點的信息。它們之間通過互相的ping-pong判斷是否節點可以連接上。如果有一半以上的節點去ping一個節點的時候沒有迴應,集羣就認爲這個節點宕了,然後去連接它的備用節點。


集羣進入fail狀態的必要條件:

某個主節點和所有從節點全部掛掉,我們集羣就進入faill狀態。

如果集羣超過半數以上master掛掉,無論是否有slave,集羣進入fail狀態。

如果集羣任意master掛掉,且當前master沒有slave.集羣進入fail狀態。


集羣構建:

三臺主機,IP分別是:

192.168.121.121

192.168.121.122

192.168.121.123


每個主機上端口分別是:

7000 和 7001


集羣至少需要3主


各節點角色

192.168.121.121:7000  master主節點

192.168.121.121:7001  slave從節點,是192.168.121.122:7000的從節點

192.168.121.122:7000  master主節點

192.168.121.122:7001  slave從節點,是192.168.121.123:7000的從節點

192.168.121.123:7000  master主節點

192.168.121.123:7001  slave從節點,是192.168.121.121:7000的從節點


由上面可以看出:

三個master主節點分佈在三個不同的服務器上,三個slave從節點也分佈在三個不同的服務器上。

即使有一臺主機停機,整個集羣也會正常運行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章