您好,登錄后才能下訂單哦!
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從節點也分布在三個不同的服務器上。
即使有一臺主機停機,整個集群也會正常運行。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。