Redis如何部署哨兵
一、Redis數(shù)據(jù)庫(kù)
- 主從復(fù)制:主從復(fù)制是高可用Redis的基礎(chǔ),哨兵和集群都是在主從復(fù)制基礎(chǔ)上實(shí)現(xiàn)高可用的。主從復(fù)制主要實(shí)現(xiàn)了數(shù)據(jù)的多機(jī)備份,以及對(duì)于讀操作的負(fù)載均衡和簡(jiǎn)單的故障恢復(fù)。缺陷:故障恢復(fù)無(wú)法自動(dòng)化;寫(xiě)操作無(wú)法負(fù)載均衡;存儲(chǔ)能力受到單機(jī)的限制。
- 哨兵:在主從復(fù)制的基礎(chǔ)上,哨兵實(shí)現(xiàn)了自動(dòng)化的故障恢復(fù)。缺陷:寫(xiě)操作無(wú)法負(fù)載均衡;存儲(chǔ)能力受到單機(jī)的限制;哨兵無(wú)法對(duì)從節(jié)點(diǎn)進(jìn)行自動(dòng)故障轉(zhuǎn)移,在讀寫(xiě)分離場(chǎng)景下,從節(jié)點(diǎn)故障會(huì)導(dǎo)致讀服務(wù)不可用,需要對(duì)從節(jié)點(diǎn)做額外的監(jiān)控、切換操作。
- 集群:通過(guò)集群,Redis解決了寫(xiě)操作無(wú)法負(fù)載均衡,以及存儲(chǔ)能力受到單機(jī)限制的問(wèn)題,實(shí)現(xiàn)了較為完善的高可用方案。
二、Redis哨兵模式
哨兵的核心功能:在主從復(fù)制的基礎(chǔ)上,哨兵引入了主節(jié)點(diǎn)的自動(dòng)故障轉(zhuǎn)移。
#哨兵模式原理:哨兵(sentinel):是一個(gè)分布式系統(tǒng),用于對(duì)主從結(jié)構(gòu)中的每臺(tái)服務(wù)器進(jìn)行監(jiān)控,當(dāng)出現(xiàn)故障時(shí)通過(guò)投票機(jī)制選擇新的 Master 并將所有 Slave 連接到新的 Master。所以整個(gè)運(yùn)行哨兵的集群的數(shù)量不得少于3個(gè)節(jié)點(diǎn)。
哨兵模式的作用:
- 監(jiān)控:哨兵會(huì)不斷地檢查主節(jié)點(diǎn)和從節(jié)點(diǎn)是否運(yùn)作正常。
- 自動(dòng)故障轉(zhuǎn)移:當(dāng)主節(jié)點(diǎn)不能正常工作時(shí),哨兵會(huì)開(kāi)始自動(dòng)故障轉(zhuǎn)移操作,它會(huì)將失效主節(jié)點(diǎn)的其中一個(gè)從節(jié)點(diǎn)升級(jí)為新的主節(jié)點(diǎn),并讓其他從節(jié)點(diǎn)改為復(fù)制新的主節(jié)點(diǎn)。
- 通知(提醒):哨兵可以將故障轉(zhuǎn)移的結(jié)果發(fā)送給客戶(hù)端。
哨兵結(jié)構(gòu)由兩部分組成,哨兵節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn):
- 哨兵節(jié)點(diǎn):哨兵系統(tǒng)由一個(gè)或多個(gè)哨兵節(jié)點(diǎn)組成,哨兵節(jié)點(diǎn)是特殊的redis節(jié)點(diǎn),不存儲(chǔ)數(shù)據(jù)。
- 數(shù)據(jù)節(jié)點(diǎn):主節(jié)點(diǎn)和從節(jié)點(diǎn)都是數(shù)據(jù)節(jié)點(diǎn)。
哨兵的啟動(dòng)依賴(lài)于主從模式,所以須把主從模式安裝好的情況下再去做哨兵模式,所有節(jié)點(diǎn)上都需要部署哨兵模式,哨兵模式會(huì)監(jiān)控所有的 Redis 工作節(jié)點(diǎn)是否正常,當(dāng) Master 出現(xiàn)問(wèn)題的時(shí)候,因?yàn)槠渌?jié)點(diǎn)與主節(jié)點(diǎn)失去聯(lián)系,因此會(huì)投票,投票過(guò)半就認(rèn)為這個(gè) Master 的確出現(xiàn)問(wèn)題,然后會(huì)通知哨兵間,然后從 Slaves 中選取一個(gè)作為新的 Master。
需要特別注意的是,客觀下線是主節(jié)點(diǎn)才有的概念;如果從節(jié)點(diǎn)和哨兵節(jié)點(diǎn)發(fā)生故障,被哨兵主觀下線后,不會(huì)再有后續(xù)的客觀下線和故障轉(zhuǎn)移操作。
三、部署Redis哨兵
第一步 關(guān)閉防火墻和安全機(jī)制
systemctl stop firewalld systemctl disable firewalld setenforce 0
第二步 修改Redis配置文件
vim /opt/redis-5.0.7/sentinel.conf
第三步 開(kāi)啟Master主節(jié)點(diǎn)
cd /opt/redis-5.0.7 redis-sentinel sentinel.conf
第四步 查看哨兵信息
redis-cli -p 26379 info sentinel
到此這篇關(guān)于Redis如何部署哨兵的文章就介紹到這了,更多相關(guān)Redis 部署哨兵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis刪除某個(gè)目錄下的數(shù)據(jù)的實(shí)現(xiàn)
本文介紹了如何在Redis中刪除指定目錄下的數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09window下創(chuàng)建redis出現(xiàn)問(wèn)題小結(jié)
這篇文章主要介紹了window下創(chuàng)建redis出現(xiàn)問(wèn)題總結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10使用Spring?Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能示例詳解
這篇文章主要介紹了使用Spring?Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能,就是一個(gè)實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能的Spring?Boot應(yīng)用的示例,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07Redis中三種特殊數(shù)據(jù)類(lèi)型命令詳解
Geospatial是地理位置類(lèi)型,我們可以用來(lái)查詢(xún)附近的人、計(jì)算兩人之間的距離等,這篇文章主要介紹了Redis中三種特殊數(shù)據(jù)類(lèi)型命令詳解,需要的朋友可以參考下2024-05-05基于redis 7.2.3的makefile源碼解讀學(xué)習(xí)
這篇文章主要為大家介紹了基于redis 7.2.3的makefile源碼解讀學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12