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乾貨。