1. 程式人生 > >redis之去中心化主從複製模式

redis之去中心化主從複製模式

在上一篇redis簡單搭建主從複製中,我們介紹瞭如何搭建redis的一主二從複製模式,基本結構圖如
在這裡插入圖片描述
上圖中的slave節點可以有很多個,這樣就會一個master掛了很多slave,導致master的壓力很大。為了解決這個問題,我們以緩解master的壓力為目的,使用去中心化(不是所有slave都和master有直接關係)主從複製模式,基本結構圖如下:
在這裡插入圖片描述
上圖中,將原本一個master的3個slave節點,轉化為一個master掛一個slave,該slave再掛2個slave,就大大降低了master的壓力。資料也是有master複製到slave1,再由slave1複製到slave2和slave3。下面我們會動手搭建這樣一個去中心化的複製模式。本文不再對如何搭建複製模式多做贅述,有興趣的可以看下我的上一篇文章。
第一步:伺服器redis節點介紹
(1)主master:ip:192.168.121.139 port:6379
(2)從slave1:ip:192.168.121.139 port:6380
(3)從slave2:ip:192.168.121.140 port:6381
(4)從slave3:ip:192.168.121.140 port:6382

第二步:分別啟動各個節點,這是都是master,在slave1節點上執行slaveof 192.168.121.139 6379,使其掛在master上。在slave2和slave3上分別執行slaveof 192.168.121.140 6380,連線slave2,這樣就實現了我們的結構圖所示的那樣。
第三步:下面我們主要解決以下問題
(1)在master上set資料,資料是否會同步到slave1、slave2和slave3?
(2)檢視slave1的role,到底是master還是slave?

首先,我們在master上set k10 v10
在這裡插入圖片描述

再一次檢視slave1、slave2和slave3上是否存在k10
在這裡插入圖片描述


在這裡插入圖片描述
在這裡插入圖片描述
從上面結果看,master中的資料會複製到各個節點。

通過命令Info replication檢視slave1的role
在這裡插入圖片描述
上面的結果可知,role是slave,同時可以看到其連線的slave數和ip地址。

總結:本文主要介紹了redis去中心化的一種主從複製模式,目的是緩解master的壓力。後續將會突出非常流行的一種模式-哨兵模式,敬請期待!