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)聽(tīng)的主服務(wù)器 后面的1表示主機(jī)掛掉以后進(jìn)行投票,只需要2票就可以從機(jī)變主機(jī) sentinel monitor mymaster 127.0.0.1 6379 2 # 設(shè)置主機(jī)的密碼(無(wú)密碼可以省略) # 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)聽(tīng)主節(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)聽(tīng)的主服務(wù)器 后面的1表示主機(jī)掛掉以后進(jìn)行投票,只需要2票就可以從機(jī)變主機(jī) sentinel monitor mymaster 127.0.0.1 6379 2 # 設(shè)置主機(jī)的密碼(無(wú)密碼可以省略) # 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)聽(tīng)主節(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)聽(tīng)的主服務(wù)器 后面的1表示主機(jī)掛掉以后進(jìn)行投票,只需要2票就可以從機(jī)變主機(jī) sentinel monitor mymaster 127.0.0.1 6379 2 # 設(shè)置主機(jī)的密碼(無(wú)密碼可以省略) # 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è)文件夾目錄下打開(kāi)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開(kāi)啟黑窗口, 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)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Redis底層數(shù)據(jù)結(jié)構(gòu)SkipList的實(shí)現(xiàn)
本文主要介紹了Redis底層數(shù)據(jù)結(jié)構(gòu)SkipList的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Redis序列化設(shè)置以及jetcache連接Redis序列化的設(shè)置過(guò)程
這篇文章主要介紹了Redis序列化設(shè)置以及jetcache連接Redis序列化的設(shè)置過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Redis解決庫(kù)存超賣問(wèn)題實(shí)例講解
這篇文章主要介紹了Redis解決庫(kù)存超賣問(wèn)題實(shí)例講解,問(wèn)題和解決辦法都列舉了出來(lái),很貼合實(shí)際開(kāi)發(fā)場(chǎng)景,有需要的同學(xué)可以學(xué)習(xí)下2021-03-03redis通過(guò)redis-dump鏡像實(shí)現(xiàn)數(shù)據(jù)遷移
本文主要介紹了redis通過(guò)redis-dump鏡像實(shí)現(xiàn)數(shù)據(jù)遷移,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04高并發(fā)場(chǎng)景分析之redis+lua防重校驗(yàn)
這篇文章主要介紹了高并發(fā)場(chǎng)景分析之redis+lua防重校驗(yàn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07