1、概述

之前聊了Redis的哨兵模式,哨兵模式解決了讀的併發問題,也解決了Master節點單點的問題。

但隨著系統越來越龐大,快取的資料越來越多,伺服器的記憶體容量又成了問題,需要水平擴容,此時哨兵模式就無法支援了,需要使用Redis的叢集模式(Redis Cluster)。

Redis的叢集模式(Redis Cluster),支援擴容、負載均衡、主從高可用,最經典的叢集配置方案是三主三從,也就是三臺Master服務節點,三臺Slave服務節點。

接下來我們就來聊聊三主三從的Redis叢集是如何搭建的。

2、場景描述

伺服器1 IP:192.168.1.144

伺服器2 IP:192.168.1.145

伺服器3 IP:192.168.1.146

伺服器4 IP:192.168.1.22

伺服器5 IP:192.168.1.23

伺服器6 IP:192.168.1.24

關於Redis的安裝,請參見我的另一篇文章《Redis的安裝、基本使用以及與SpringBoot的整合》。

3、Redis叢集的搭建

3.1 修改 Redis 配置檔案

# cd /usr/local/redis/

# vi redis.conf

詳細配置參見下面截圖:

3.2 刪除舊的資料檔案

如果不刪除舊的資料檔案,啟動叢集時會報錯。

# cd /usr/local/redis/db

# rm -rf *.rdb *.aof

3.3 重啟Redis

# cd /etc/init.d/

# ./redis_init_script stop

# ./redis_init_script start

所有Redis伺服器都需按上面的三個步驟進行操作,即 3.1,3.2,3.3。

3.4 設定叢集關係(在其中一臺叢集節點設定就可以)

# redis-cli -a zhuifengren --cluster create 192.168.1.144:6379 192.168.1.145:6379 192.168.1.146:6379 192.168.1.22:6379 192.168.1.23:6379 192.168.1.24:6379 --cluster-replicas 1

3.5 檢視叢集資訊

# redis-cli -a zhuifengren --cluster check 192.168.1.22:6379

到此為止,Redis叢集搭建成功。

4. 與SpringBoot整合

在之前的基礎上修改yml檔案即可

spring:
redis:
password: zhuifengren
cluster:
nodes: 192.168.1.144:6379,192.168.1.145:6379,192.168.1.146:6379,192.168.1.22:6379,192.168.1.23:6379,192.168.1.24:6379

5. 綜述

今天我們聊了一下Redis叢集的搭建,以及如何與SpringBoot進行整合,希望能對大家有所幫助。

歡迎大家多多評論交流,共同成長。

關注追風人聊Java,每天更新Java乾貨。