【分布式緩存-HA篇】Redis Sentinel 模式

? ? ? ? 一膳犹、 Redis Sentinel 簡介

????????Redis Sentinel(哨兵)是Redis官方推薦高可用方案趾牧,它的作用是對Redis節(jié)點(diǎn)進(jìn)行監(jiān)控故黑、故障判斷、故障轉(zhuǎn)移遣臼、故障通知性置。

? ? ? ? 二、 Redis Sentinel 架構(gòu)

Redis Sentinel 管理架構(gòu)

? ? ? ? 1?工作原理

? ? ? ? 對于Redis的主從架構(gòu)揍堰,Sentinel會運(yùn)行幾個sentinel進(jìn)程鹏浅,這些進(jìn)程不操作數(shù)據(jù),專門用來進(jìn)行Redis的故障判斷屏歹、故障轉(zhuǎn)移隐砸,同時(shí)多個sentinel進(jìn)程運(yùn)行,如果其中一個進(jìn)程出現(xiàn)問題西采,還有其它進(jìn)程可以用來繼續(xù)監(jiān)控Redis狀況凰萨,并保障Redis的高可用继控。

? ? ? ? 對于Redis客戶端來說械馆,客戶端不會再記錄Redis的ip胖眷、port等信息,而是從Sentinel獲取Redis信息霹崎,然后進(jìn)行連接Redis節(jié)點(diǎn)珊搀,進(jìn)行數(shù)據(jù)操作。


客戶端從Sentinel獲取Redis信息

? ? ? ? 2 故障轉(zhuǎn)移過程

? ? ? ? 【步驟一】 主觀下線:?Sentinel會以每秒一次的頻率向所有與它創(chuàng)建了命令連接的實(shí)例發(fā)送PING命令尾菇,并通過實(shí)例返回的PING命令回復(fù)來判斷實(shí)例是否在線境析,如果在約定的時(shí)間內(nèi)沒有響應(yīng),則該Sentinel節(jié)點(diǎn)主觀認(rèn)為這個Redis實(shí)例已下線派诬,然后進(jìn)行客觀下線階段劳淆;

? ? ? ? 【步驟二】 客觀下線:當(dāng)Sentinel將一個主服務(wù)器判斷為主觀下線之后,為了確認(rèn)這個主服務(wù)器是否真的下線默赂,它會向同樣監(jiān)視這一主服務(wù)器的其它Sentinel進(jìn)行詢問沛鸵,看它們是否也認(rèn)為主服務(wù)器已經(jīng)進(jìn)入了下線狀態(tài)。當(dāng)從其它Sentinal那里接收到足夠數(shù)量(quorum配置)的已下線判斷后缆八,Sentinel就會將服務(wù)器判定為客觀下線曲掰,開始對主服務(wù)器執(zhí)行故障轉(zhuǎn)移操作,然后進(jìn)入故障轉(zhuǎn)移階段奈辰;

? ? ? ? 【步驟三】 領(lǐng)導(dǎo)選舉:每個做了主觀下線的Sentinel節(jié)點(diǎn)向其它節(jié)點(diǎn)發(fā)送命令栏妖,要求將自己設(shè)置為領(lǐng)導(dǎo)者;收到命令的節(jié)點(diǎn)如果沒有同意過其它節(jié)點(diǎn)發(fā)送的命令奖恰,則會同意這次請求吊趾,反之則拒絕;如果Sentinel節(jié)點(diǎn)發(fā)現(xiàn)自己的得票數(shù)已經(jīng)超過總結(jié)點(diǎn)數(shù)的一半房官、并且超過quorum(提前配置好的閥值)趾徽,則會成為領(lǐng)導(dǎo)者;如果在上述過程中多個Sentinel節(jié)點(diǎn)成為領(lǐng)導(dǎo)者翰守,則會進(jìn)行重新選舉孵奶;

? ? ? ? 【步驟四】 故障轉(zhuǎn)移:從Redis的所有Slave中選舉出符合條件的一個節(jié)點(diǎn),作為新的Master節(jié)點(diǎn)蜡峰,然后向剩余Slave節(jié)點(diǎn)發(fā)送命令了袁,通知它們成為新Master節(jié)點(diǎn)的Slave,然后所有Slave都會從新Master同步數(shù)據(jù)湿颅;待出問題的節(jié)點(diǎn)(原Master節(jié)點(diǎn))復(fù)活后载绿,其也會成為新Master節(jié)點(diǎn)的Slave,并從Master節(jié)點(diǎn)同步新數(shù)據(jù)油航。

Redis Sentinel 模式下的故障轉(zhuǎn)移

? ? ? ? 三崭庸、Redis Sentinel 中的定時(shí)任務(wù)

? ? ? ? 1??獲取主服務(wù)器信息

????????Sentinel默認(rèn)會以每十秒一次的頻率,通過命令連接向被監(jiān)視的主服務(wù)器發(fā)送INFO命令,并通過分析INFO命令的回復(fù)來獲取主服務(wù)器的當(dāng)前信息怕享。

獲取實(shí)例信息

? ? ? ? 2? Sentinel交換消息

? ? ? ? Sentinel所有節(jié)點(diǎn)會以每兩秒一次的頻率执赡,通過Redis的Master節(jié)點(diǎn)的Channel來交換信息,這個過程也叫作發(fā)布訂閱函筋;

? ? ? ? Redis的Master節(jié)點(diǎn)上有一個發(fā)布訂閱的Channel頻道:_sentinel_:hello沙合,用于所有Sentinal之間進(jìn)行信息交換;Sentinal發(fā)布的消息中包含了當(dāng)前Sentinel自身節(jié)點(diǎn)的信息跌帐,對其它Sentinel節(jié)點(diǎn)的判斷首懈、以及對Redis的Master節(jié)點(diǎn)和Slave節(jié)點(diǎn)的判斷,其它Sentinel節(jié)點(diǎn)都會收到這條消息谨敛;當(dāng)有新的Sentinel節(jié)點(diǎn)加入時(shí)究履,其它Sentinel也是通過這種方式感知到。

Sentinel 交換消息

? ? ? ? 3??故障判斷

????????Sentinel會以每秒一次的頻率脸狸,向所有與它創(chuàng)建了命令連接的實(shí)例發(fā)送PING命令挎袜,并通過實(shí)例返回的PING命令回復(fù)來判斷實(shí)例是否在線。


判斷是否健康
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肥惭,一起剝皮案震驚了整個濱河市盯仪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜜葱,老刑警劉巖全景,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異牵囤,居然都是意外死亡爸黄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門揭鳞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炕贵,“玉大人,你說我怎么就攤上這事野崇〕瓶” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵乓梨,是天一觀的道長鳖轰。 經(jīng)常有香客問我,道長扶镀,這世上最難降的妖魔是什么蕴侣? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮臭觉,結(jié)果婚禮上昆雀,老公的妹妹穿的比我還像新娘辱志。我一直安慰自己,他們只是感情好狞膘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布荸频。 她就那樣靜靜地躺著,像睡著了一般客冈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稳强,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天场仲,我揣著相機(jī)與錄音,去河邊找鬼退疫。 笑死渠缕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的褒繁。 我是一名探鬼主播亦鳞,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棒坏!你這毒婦竟也來了燕差?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤坝冕,失蹤者是張志新(化名)和其女友劉穎徒探,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喂窟,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡测暗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磨澡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碗啄。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖稳摄,靈堂內(nèi)的尸體忽然破棺而出稚字,到底是詐尸還是另有隱情,我是刑警寧澤厦酬,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布尉共,位于F島的核電站,受9級特大地震影響弃锐,放射性物質(zhì)發(fā)生泄漏袄友。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一霹菊、第九天 我趴在偏房一處隱蔽的房頂上張望剧蚣。 院中可真熱鬧支竹,春花似錦、人聲如沸鸠按。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽目尖。三九已至馒吴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑟曲,已是汗流浹背饮戳。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洞拨,地道東北人扯罐。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像烦衣,于是被迫代替她去往敵國和親歹河。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容