redis中的哨兵是什么

本篇文章給大家分享的是有關(guān)redis中的哨兵機(jī)制,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、尼元陽網(wǎng)絡(luò)推廣、小程序定制開發(fā)、尼元陽網(wǎng)絡(luò)營(yíng)銷、尼元陽企業(yè)策劃、尼元陽品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供尼元陽建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:bm7419.com

redis高可用:如果你做主從架構(gòu)部署,其實(shí)就是加上哨兵就可以了,就可以實(shí)現(xiàn),任何一個(gè)實(shí)例宕機(jī),自動(dòng)會(huì)進(jìn)行主備切換。

哨兵機(jī)制                         

有了主從復(fù)制的實(shí)現(xiàn)以后,如果想對(duì)主服務(wù)器進(jìn)行監(jiān)控,那么在redis2.6以后提供了一個(gè)"哨兵"的機(jī)制。顧名思義,哨兵的含義就是監(jiān)控redis系統(tǒng)的運(yùn)行狀態(tài)。可以啟動(dòng)多個(gè)哨兵,去監(jiān)控redis數(shù)據(jù)庫的運(yùn)行狀態(tài)。其主要功能有兩點(diǎn):

a、監(jiān)控所有節(jié)點(diǎn)數(shù)據(jù)庫是否在正常運(yùn)行。

b、master數(shù)據(jù)庫出現(xiàn)故障時(shí),可以自動(dòng)通過投票機(jī)制,從slave節(jié)點(diǎn)中選舉新的master,實(shí)現(xiàn)將從數(shù)據(jù)庫轉(zhuǎn)換為主數(shù)據(jù)庫的自動(dòng)切換。

一個(gè)一主多從的Redis系統(tǒng)中,可以使用多個(gè)哨兵進(jìn)行監(jiān)控任務(wù)以保證系統(tǒng)足夠穩(wěn)健。此時(shí),不僅哨兵會(huì)同時(shí)監(jiān)控主數(shù)據(jù)庫和從數(shù)據(jù)庫,哨兵之間也會(huì)相互監(jiān)控。在這里,建議大家哨兵至少部署3個(gè),并且使用奇數(shù)個(gè)哨兵。

Redis的哨兵(sentinel) 系統(tǒng)用于管理多個(gè) Redis 服務(wù)器,該系統(tǒng)執(zhí)行以下三個(gè)任務(wù):

監(jiān)控(Monitoring):哨兵(sentinel) 會(huì)不斷地檢查你的Master和Slave是否運(yùn)作正常。

提醒(Notification):當(dāng)被監(jiān)控的某個(gè) Redis出現(xiàn)問題時(shí), 哨兵(sentinel) 可以通過 API 向管理員或者其他應(yīng)用程序發(fā)送通知。

自動(dòng)故障遷移(Automatic failover):當(dāng)一個(gè)Master不能正常工作時(shí),哨兵(sentinel) 會(huì)開始一次自動(dòng)故障遷移操作,它會(huì)將失效Master的其中一個(gè)Slave升級(jí)為新的Master, 并讓失效Master的其他Slave改為復(fù)制新的Master; 當(dāng)客戶端試圖連接失效的Master時(shí),集群也會(huì)向客戶端返回新Master的地址,使得集群可以使用Master代替失效Master。

哨兵(sentinel) 是一個(gè)分布式系統(tǒng),你可以在一個(gè)架構(gòu)中運(yùn)行多個(gè)哨兵(sentinel) 進(jìn)程,這些進(jìn)程使用流言協(xié)議(gossipprotocols)來接收關(guān)于Master是否下線的信息,并使用投票協(xié)議(agreement protocols)來決定是否執(zhí)行自動(dòng)故障遷移,以及選擇哪個(gè)Slave作為新的Master.

每個(gè)哨兵(sentinel) 會(huì)向其它哨兵(sentinel)、master、slave定時(shí)發(fā)送消息,以確認(rèn)對(duì)方是否”活”著,如果發(fā)現(xiàn)對(duì)方在指定時(shí)間(可配置)內(nèi)未回應(yīng),則暫時(shí)認(rèn)為對(duì)方已掛(所謂的”主觀認(rèn)為宕機(jī)” Subjective Down,簡(jiǎn)稱sdown).

若“哨兵群”中的多數(shù)sentinel,都報(bào)告某一master沒響應(yīng),系統(tǒng)才認(rèn)為該master"徹底死亡"(即:客觀上的真正down機(jī),Objective Down,簡(jiǎn)稱odown),通過一定的vote算法,從剩下的slave節(jié)點(diǎn)中,選一臺(tái)提升為master,然后自動(dòng)修改相關(guān)配置.

雖然哨兵(sentinel) 釋出為一個(gè)單獨(dú)的可執(zhí)行文件 redis-sentinel ,但實(shí)際上它只是一個(gè)運(yùn)行在特殊模式下的 Redis 服務(wù)器,你可以在啟動(dòng)一個(gè)普通 Redis 服務(wù)器時(shí)通過給定 --sentinel 選項(xiàng)來啟動(dòng)哨兵(sentinel)。

以上就是redis中的哨兵機(jī)制,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:redis中的哨兵是什么
地址分享:http://bm7419.com/article38/psdjpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計(jì)公司商城網(wǎng)站、全網(wǎng)營(yíng)銷推廣微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)