溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

redis學習4---集群

發(fā)布時間:2020-07-22 05:51:06 來源:網(wǎng)絡(luò) 閱讀:156 作者:斷臂人 欄目:關(guān)系型數(shù)據(jù)庫

Redis-Cluster采用無中心結(jié)構(gòu),每個節(jié)點保存數(shù)據(jù)和整個集群狀態(tài)。

所有的redis節(jié)點彼此互聯(lián)(PING-PONG機制),內(nèi)部使用二進制協(xié)議優(yōu)化傳輸速度和帶寬。

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

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


slave

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


集群是如何判斷是否有某個節(jié)點掛掉:

首先要說的是,每一個節(jié)點都存有這個集群所有主節(jié)點以及從節(jié)點的信息。它們之間通過互相的ping-pong判斷是否節(jié)點可以連接上。如果有一半以上的節(jié)點去ping一個節(jié)點的時候沒有回應(yīng),集群就認為這個節(jié)點宕了,然后去連接它的備用節(jié)點。


集群進入fail狀態(tài)的必要條件:

某個主節(jié)點和所有從節(jié)點全部掛掉,我們集群就進入faill狀態(tài)。

如果集群超過半數(shù)以上master掛掉,無論是否有slave,集群進入fail狀態(tài)。

如果集群任意master掛掉,且當前master沒有slave.集群進入fail狀態(tài)。


集群構(gòu)建:

三臺主機,IP分別是:

192.168.121.121

192.168.121.122

192.168.121.123


每個主機上端口分別是:

7000 和 7001


集群至少需要3主


各節(jié)點角色

192.168.121.121:7000? master主節(jié)點

192.168.121.121:7001? slave從節(jié)點,是192.168.121.122:7000的從節(jié)點

192.168.121.122:7000? master主節(jié)點

192.168.121.122:7001? slave從節(jié)點,是192.168.121.123:7000的從節(jié)點

192.168.121.123:7000? master主節(jié)點

192.168.121.123:7001? slave從節(jié)點,是192.168.121.121:7000的從節(jié)點


由上面可以看出:

三個master主節(jié)點分布在三個不同的服務(wù)器上,三個slave從節(jié)點也分布在三個不同的服務(wù)器上。

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


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI