Windows下搭建Redis哨兵集群模式的方法步驟
哨兵模式簡(jiǎn)介
哨兵模式,是基于主從復(fù)制模式,主從復(fù)制的優(yōu)點(diǎn)全都擁有,并且主從可以實(shí)現(xiàn)自動(dòng)切換,故障轉(zhuǎn)移等功能,系統(tǒng)的可用性更好,哨兵模式其實(shí)就是主從模式的升級(jí)版,手動(dòng)到自動(dòng)切換,更加健壯。
其缺點(diǎn)是不好在線擴(kuò)容,集群容量如果達(dá)到上限,擴(kuò)容麻煩

圖上則是一主二從三哨兵的架構(gòu)圖
最終搭建好的Redis Sentinel集群模式目錄是如下

6379端口是主節(jié)點(diǎn),6380和6381端口是從節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)下都存在一個(gè)哨兵。
實(shí)現(xiàn)搭建
首先下載到window系統(tǒng)redis安裝包(注意:版本必須在2.8以上,redis2.8版本之后的才支持redis sentinel集群模式)
復(fù)制出三份redis,文件夾分別以redis+端口號(hào)命名

主節(jié)點(diǎn)-6379-配置
修改redis.windows.conf配置文件,大概在40行上下,修改端口為6379.

創(chuàng)建哨兵,其次再新建一個(gè)sentinel.conf文件,將里面的port端口修改為26379
# 哨兵sentinel實(shí)例運(yùn)行的端口 port 26379 # 本地ip bind 127.0.0.1 # 哨兵監(jiān)聽的主服務(wù)器 后面的1表示主機(jī)掛掉以后進(jìn)行投票,只需要2票就可以從機(jī)變主機(jī) sentinel monitor mymaster 127.0.0.1 6379 2 # 設(shè)置主機(jī)的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設(shè)置未得到主機(jī)響應(yīng)時(shí)間,此處代表5秒未響應(yīng)視為宕機(jī) sentinel down-after-milliseconds mymaster 5000 # 設(shè)置等待主機(jī)活動(dòng)時(shí)間,此處代表15秒主機(jī)未活動(dòng),則重新選舉主機(jī) sentinel failover-timeout mymaster 15000 # 設(shè)置重新選舉主機(jī)后,同一時(shí)間同步數(shù)據(jù)的從機(jī)數(shù)量,此處代表重新選舉主機(jī)后,每次2臺(tái)從機(jī)同步主機(jī)數(shù)據(jù),直到所有從機(jī)同步結(jié)束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉(zhuǎn)移時(shí), 最多有2個(gè)從服務(wù)器同時(shí)對(duì)新的主服務(wù)器進(jìn)行同步 sentinel leader-epoch mymaster 2
從節(jié)點(diǎn)-6380-配置
修改redis.windows.conf配置文件,大概在40行上下,修改端口為6380,并且大概在200行新增一個(gè) slaveof 127.0.0.1 6379 ,監(jiān)聽主節(jié)點(diǎn)。


創(chuàng)建哨兵,其次再新建一個(gè)sentinel.conf文件,將里面的port端口修改為26380,其他配置不動(dòng)
# 哨兵sentinel實(shí)例運(yùn)行的端口 port 26380 # 本地ip bind 127.0.0.1 # 哨兵監(jiān)聽的主服務(wù)器 后面的1表示主機(jī)掛掉以后進(jìn)行投票,只需要2票就可以從機(jī)變主機(jī) sentinel monitor mymaster 127.0.0.1 6379 2 # 設(shè)置主機(jī)的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設(shè)置未得到主機(jī)響應(yīng)時(shí)間,此處代表5秒未響應(yīng)視為宕機(jī) sentinel down-after-milliseconds mymaster 5000 # 設(shè)置等待主機(jī)活動(dòng)時(shí)間,此處代表15秒主機(jī)未活動(dòng),則重新選舉主機(jī) sentinel failover-timeout mymaster 15000 # 設(shè)置重新選舉主機(jī)后,同一時(shí)間同步數(shù)據(jù)的從機(jī)數(shù)量,此處代表重新選舉主機(jī)后,每次2臺(tái)從機(jī)同步主機(jī)數(shù)據(jù),直到所有從機(jī)同步結(jié)束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉(zhuǎn)移時(shí), 最多有2個(gè)從服務(wù)器同時(shí)對(duì)新的主服務(wù)器進(jìn)行同步 sentinel leader-epoch mymaster 2
從節(jié)點(diǎn)-6381-配置
修改redis.windows.conf配置文件,大概在40行上下,修改端口為6381,并且大概在200行新增一個(gè) slaveof 127.0.0.1 6379 ,監(jiān)聽主節(jié)點(diǎn)。


創(chuàng)建哨兵,其次再新建一個(gè)sentinel.conf文件,將里面的port端口修改為26381,其他配置不動(dòng)
# 哨兵sentinel實(shí)例運(yùn)行的端口 port 26381 # 本地ip bind 127.0.0.1 # 哨兵監(jiān)聽的主服務(wù)器 后面的1表示主機(jī)掛掉以后進(jìn)行投票,只需要2票就可以從機(jī)變主機(jī) sentinel monitor mymaster 127.0.0.1 6379 2 # 設(shè)置主機(jī)的密碼(無密碼可以省略) # sentinel auth-pass mymaster admin # 設(shè)置未得到主機(jī)響應(yīng)時(shí)間,此處代表5秒未響應(yīng)視為宕機(jī) sentinel down-after-milliseconds mymaster 5000 # 設(shè)置等待主機(jī)活動(dòng)時(shí)間,此處代表15秒主機(jī)未活動(dòng),則重新選舉主機(jī) sentinel failover-timeout mymaster 15000 # 設(shè)置重新選舉主機(jī)后,同一時(shí)間同步數(shù)據(jù)的從機(jī)數(shù)量,此處代表重新選舉主機(jī)后,每次2臺(tái)從機(jī)同步主機(jī)數(shù)據(jù),直到所有從機(jī)同步結(jié)束 sentinel config-epoch mymaster 2 # 執(zhí)行故障轉(zhuǎn)移時(shí), 最多有2個(gè)從服務(wù)器同時(shí)對(duì)新的主服務(wù)器進(jìn)行同步 sentinel leader-epoch mymaster 2
啟動(dòng)哨兵
分別cd到三個(gè)文件夾目錄下打開cmd窗口,使用 redis-server.exe ./redis.windows.conf 啟動(dòng)三個(gè)主從redis服務(wù)



等三個(gè)redis服務(wù)啟動(dòng)成功之后,接著使用 redis-server.exe ./sentinel.conf --sentinel 啟動(dòng)三個(gè)哨兵



查詢當(dāng)前節(jié)點(diǎn)是否主節(jié)點(diǎn)
cd進(jìn)入當(dāng)前redis目錄下cmd開啟黑窗口, redis-cli.exe -h 127.0.0.1 -p 6379 登錄redis客戶端
命令 info replication 查看

查看哨兵的狀態(tài)
命令 redis-cli.exe -p 26379 進(jìn)入客戶端
命令 info sentinel 查看
可以看出sentinel狀態(tài)正常,能夠檢測(cè)到redis的2個(gè)從節(jié)點(diǎn),3個(gè)哨兵


宕機(jī)測(cè)試
將6379端口的主節(jié)點(diǎn)redis關(guān)閉,模擬宕機(jī)的情況。
哨兵投票選舉出新的從節(jié)點(diǎn)升為主節(jié)點(diǎn)。

當(dāng)6379重新啟動(dòng)之后,自動(dòng)降為從節(jié)點(diǎn)

SpringBoot集成Redis哨兵模式
maven配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>spring:
redis:
password: xxx
database: 0
sentinel:
password: xxx
master: mymaster
nodes:
- 127.0.0.1:26379
- 127.0.0.1:26380
- 127.0.0.1:26381
lettuce:
pool:
min-idle: 3
max-idle: 8
max-active: 15
max-wait: 10000以上就是Windows下搭建Redis哨兵集群模式的方法步驟的詳細(xì)內(nèi)容,更多關(guān)于Windows搭建Redis哨兵集群的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
WINDOWS中REDIS主從配置實(shí)現(xiàn)代碼解析
這篇文章主要介紹了WINDOWS中REDIS主從配置實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Redis底層數(shù)據(jù)結(jié)構(gòu)SkipList的實(shí)現(xiàn)
本文主要介紹了Redis底層數(shù)據(jù)結(jié)構(gòu)SkipList的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Redis序列化設(shè)置以及jetcache連接Redis序列化的設(shè)置過程
這篇文章主要介紹了Redis序列化設(shè)置以及jetcache連接Redis序列化的設(shè)置過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
redis通過redis-dump鏡像實(shí)現(xiàn)數(shù)據(jù)遷移
本文主要介紹了redis通過redis-dump鏡像實(shí)現(xiàn)數(shù)據(jù)遷移,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
高并發(fā)場(chǎng)景分析之redis+lua防重校驗(yàn)
這篇文章主要介紹了高并發(fā)場(chǎng)景分析之redis+lua防重校驗(yàn),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07

