精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

超全面 Redis 分布式高可用方案:哨兵機制

開發(fā) 前端 分布式 Redis
開發(fā)工作中對于分布式緩存高可用方案(搭建 Redis 緩存高可用方案),Redis 主從架構(gòu)下是如何保證高可用的呢?

  

開發(fā)工作中對于分布式緩存高可用方案(搭建 Redis 緩存高可用方案),Redis 主從架構(gòu)下是如何保證高可用的呢?

我們知道 Redis Sentinel 是一個分布式系統(tǒng),為 Redis 提供高可用性解決方案。那 Redis 服務(wù)部署的哨兵模式主要原理是什么,又解決了什么問題呢,于是利用時間將相關(guān)問題做了整理,相信看完這篇文章,你也可以去給別人做技術(shù)分享了。O(∩_∩)O 哈哈~

0. 問題鋪墊

在討論哨兵模式之前,我們先來看一個應(yīng)用問題: Redis服務(wù)主機宕機。

實際使用過程中,會出現(xiàn)master宕機的情況(這樣會導致沒有寫服務(wù),只有讀服務(wù))。那我們要保證服務(wù)的可用,就需要從其他salve節(jié)點中選取一個來作為master節(jié)點,來繼續(xù)提供服務(wù)能力。

那主要的動作抽象下:

  • 將宕機的master下線

  • 找一個slave作為master

  • 通知所有的slave連接新的master

  • 全量數(shù)據(jù)或者部分數(shù)據(jù)同步

其中存在幾個問題:

  • 誰來確認master宕機?(假如僅僅是網(wǎng)絡(luò)抖動了一下,就把我宕掉么?)

  • 如何從slave中找一個master代替,誰來找?怎么找?有什么依據(jù)?

  • 修改配置后,原始的主恢復(fù)了怎么辦?

其實引入 哨兵機制 ,就可以很好的解決上述問題。

哨兵-Redis集群

1. 什么是哨兵?

Sentinel(哨兵)是Redis 的高可用性解決方案:由一個或多個Sentinel 實例組成的Sentinel 系統(tǒng)可以監(jiān)視任意多個主服務(wù),以及這些主服務(wù)器屬下的所有從服務(wù),并在被監(jiān)視的主服務(wù)進入下線(不可服務(wù))狀態(tài)時,自動將下線主服務(wù)器屬下的某個從服務(wù)器升級為新的主服務(wù)器。

總結(jié)一下哨兵的作用:

  • 集群監(jiān)控

不斷的檢查master和slave是否正常運行(master存活檢測、master與slave運行情況檢測)

  • 消息通知

當被監(jiān)控的服務(wù)器出現(xiàn)問題時,向其他哨兵、客戶端發(fā)送通知

  • 自動故障轉(zhuǎn)移

斷開故障master與slave的連接,選取一個slave作為新master,將其他slave連接到新的master并告知客戶端新的服務(wù)器地址。

注意:哨兵也是一臺Redis服務(wù)器,只是不提供數(shù)據(jù)服務(wù);通常哨兵配置的數(shù)量為單數(shù)。

2. 哨兵的工作原理

下面主要針對哨兵在進行故障轉(zhuǎn)移過程中經(jīng)歷的三個階段分別進行闡述。

2.1. 集群監(jiān)控

step1:哨兵1連接到Redis集群

  • 發(fā)送info命令到master,并建立cmd連接;

  • 哨兵端保存哨兵狀態(tài)(SentinelStatus),保存所有哨兵狀態(tài),主節(jié)點和從節(jié) 點的信息;master端會記錄 redis 實例的信息(SentinelRedisInstance);

  • 哨兵根據(jù)master中獲取的每個slave信息,去連接每個slave,發(fā)送同樣也是info命令。

集群監(jiān)控

step2:哨兵2加入進來后

  • 同樣會發(fā)送info命令到master節(jié)點,并建立cmd連接;

  • 發(fā)現(xiàn)master中存在其他哨兵節(jié)點的信息,哨兵2中保存哨兵信息(區(qū)別與哨兵1的是它保存了哨兵1和哨兵2的2個哨兵節(jié)點信息);

  • 為了每個哨兵的信息都一致它們之間建立了一個發(fā)布訂閱。為了哨兵之間的信息長期對稱它們之間也會互發(fā) ping 命令。

集群監(jiān)控

step3:哨兵3加入后

  • 同樣進行哨兵1、2的動作,會發(fā)送info命令到master節(jié)點,并建立cmd連接;

  • 為了保證哨兵1-哨兵2之間的信息是同步的,建立了一個發(fā)布訂閱的一個隊列(可以互發(fā)ping命令)

集群監(jiān)控

小小總結(jié)一下:

  • Sentinel會向master、slave以及其他Sentinel獲取狀態(tài);

  • Sentinel之間會組建“對應(yīng)頻道”,大家一起發(fā)布信息、訂閱信息、收信息、同步信息等。

2.2. 消息通知

1)Sentinel節(jié)點會通過master/slave 節(jié)點建立的cmd連接獲取其工作狀態(tài)

2)Sentinel收到反饋結(jié)果之后,會在哨兵內(nèi)部進行信息的互通

消息通知

2.3. 故障轉(zhuǎn)移

關(guān)于故障轉(zhuǎn)移,嚴格來講可劃分兩個步驟: 故障判定 、 故障轉(zhuǎn)移 。

Q1:如何判斷一個節(jié)點出現(xiàn)故障?

  • 哨兵會一直給主節(jié)點發(fā)送 publish sentinel:hello

直到主節(jié)點故障,哨兵報出 sdown,同時此哨兵還會向其他哨兵發(fā)布消息說這個主節(jié)點掛了。發(fā)送的指令是 sentinel is-master-down-by-address-port。

  •  其余的哨兵接收到指令后,主節(jié)點掛了嗎?讓我去看看到底掛沒掛。發(fā)送的信息也是 hello。

其余的哨兵也會發(fā)送他們收到的信息并且發(fā)送指令 sentinel is-master-down-by-address-port 到自己的內(nèi)網(wǎng),確認一下第一個發(fā)送 sentinel is-master-down-by-address-port 的哨兵說你說的對,這個家伙確實掛了。

  •  當所有人都認為主節(jié)點掛了后就會修改其狀態(tài)為 odown。

當一個哨兵認為主節(jié)點掛了標記的是 sdown,當半數(shù)哨兵都認為掛了其標記的狀態(tài)是 odown。

一個哨兵認為master節(jié)點掛了稱為主觀下線(sdown),超半數(shù)哨兵認為master節(jié)點掛了則稱為客觀下線(odown)。

Q2:如何進行故障轉(zhuǎn)移?

1)首先,哨兵選舉出哨兵Leader去處理故障轉(zhuǎn)移

此時選舉方式應(yīng)用的是Raft協(xié)議,這個之前有過介紹,感興趣的同學可以移步了解: 一致性算法Raft 簡易入門

2)其次,哨兵Leader從所有的slave節(jié)點找出一個作為master節(jié)點

主要的規(guī)則:

  • 選擇在線的節(jié)點,pass掉已下線的節(jié)點;

  • 選擇響應(yīng)速度快的,pass掉響應(yīng)慢的節(jié)點

  • 選擇與原master斷開時間短的,pass掉斷開時間較長的;

假如以上優(yōu)先級均一致,會考慮其他優(yōu)先原則:

  • 偏移量較大

假如說 slave1 的 offset 為 50,slave2 偏移量為 55,則哨兵就會選擇 slave2 為新的主節(jié)點。

  •  runid偏大的

這點類似于職場中的論資排輩,也就說根據(jù) runid 的創(chuàng)建時間來判斷,時間早的先上位。

3)數(shù)據(jù)轉(zhuǎn)移

  • 新master上任:Sentinel向新的master發(fā)送slaveof no one

  • 其他slave周知:向其他slave發(fā)送slaveof 新master IP端口

3. 總結(jié)

Redis 主從復(fù)制的作用中有這么一句話“主從復(fù)制是高可用的基石”,那實現(xiàn)高可用必不可少的就是哨兵和集群。

3.1 Sentinel的作用

  • 集群監(jiān)控

不斷的檢查master和slave是否正常運行(master存活檢測、master與slave運行情況檢測)

  • 消息通知

當被監(jiān)控的服務(wù)器出現(xiàn)問題時,向其他哨兵、客戶端發(fā)送通知

  • 自動故障轉(zhuǎn)移

斷開故障master與slave的連接,選取一個slave作為新master,將其他slave連接到新的master并告知客戶端新的服務(wù)器地址。

3.2 Sentinel的工作方式

  • 每個Sentinel以每秒鐘一次的頻率向它所知的Master,Slave以及其他 Sentinel 實例發(fā)送一個 PING 命令。

  • 如果一個實例(Instance)距離最后一次有效回復(fù) PING 命令的時間超過 down-after-milliseconds 選項所指定的值, 則這個實例會被 Sentinel 標記為主觀下線。

若 Master 重新向 Sentinel 的 PING 命令返回有效回復(fù), Master 的主觀下線狀態(tài)就會被移除。

  • 如果一個Master被標記為主觀下線,則正在監(jiān)視這個Master的所有 Sentinel 要以每秒一次的頻率確認Master的確進入了主觀下線狀態(tài)。 

  • 當有足夠數(shù)量的 Sentinel(>=配置文件指定的值)在指定的時間范圍內(nèi)確認Master的確進入了主觀下線狀態(tài), 則Master會被標記為客觀下線 。

若沒有足夠數(shù)量的 Sentinel 同意 Master 已經(jīng)下線, Master 的客觀下線狀態(tài)就會被移除。

  • 在一般情況下, 每個 Sentinel 會以每 10 秒一次的頻率向它已知的所有Master,Slave發(fā)送 INFO 命令。

  • 當Master被 Sentinel 標記為客觀下線時,Sentinel 向下線的 Master 的所有 Slave 發(fā)送 INFO 命令的頻率會從 10 秒一次改為每秒一次。

 

 

責任編輯:張燕妮 來源: 架構(gòu)精進之路
相關(guān)推薦

2020-11-26 09:38:19

分布式架構(gòu)系統(tǒng)

2023-11-12 00:10:07

Redis高可用

2022-05-11 13:55:18

高可用性分布式彈性

2019-12-04 14:59:01

分布式緩存高可用

2019-10-16 10:34:33

數(shù)據(jù)庫大數(shù)據(jù)腳本語言

2019-06-19 15:40:06

分布式鎖RedisJava

2023-03-01 08:07:51

2019-11-21 10:25:28

分布式架構(gòu)系統(tǒng)

2019-04-19 09:39:58

Redis分布式集群

2025-09-08 02:35:00

Redisson分布式鎖WatchDog

2024-04-29 08:06:19

Redis分布式系統(tǒng)

2023-04-03 10:00:00

Redis分布式

2015-04-03 12:43:45

Redis分布式

2025-04-01 01:04:00

Redis集群緩存

2025-10-28 03:00:00

并發(fā)場景數(shù)據(jù)庫

2022-01-10 19:45:40

微服務(wù)GO系統(tǒng)

2021-08-26 00:23:14

分布式存儲高可用

2024-07-16 08:38:06

2024-01-10 08:02:03

分布式技術(shù)令牌,

2023-09-28 08:39:23

分布式鎖Redis
點贊
收藏

51CTO技術(shù)棧公眾號

超碰cao国产精品一区二区| 日本在线免费网| 亚洲欧美日韩一区在线观看| 精品视频在线导航| 91在线视频观看免费| 国产一二区在线| 不卡影院免费观看| 国产精品色悠悠| 麻豆成人在线视频| 亚洲欧美成人vr| 欧美日韩夫妻久久| 99在线免费视频观看| 国产中文在线| 国产一区亚洲一区| 日本成人黄色片| 三上悠亚作品在线观看| 日韩精选在线| 欧美一区二区三区视频免费| 国产成人无码一二三区视频| www免费在线观看| 久久久久久久久97黄色工厂| 2014亚洲精品| 中文字幕在线观看免费| 在线精品在线| 久久精品一区中文字幕| 色婷婷在线影院| 91成人入口| 欧美日韩国产三级| av观看免费在线| 国产蜜臀一区二区打屁股调教| 国产喷白浆一区二区三区| 国产精品日韩一区二区| 国产又粗又猛又黄又爽| 日日摸夜夜添夜夜添国产精品| 欧美极品少妇xxxxx| 精品国产国产综合精品| 国产一区二区三区电影在线观看| 欧美成人bangbros| 拔插拔插华人永久免费| 欧美va在线观看| 欧美日韩国内自拍| 男人添女荫道口女人有什么感觉| 日本蜜桃在线观看| 中文字幕国产一区| 日韩精品久久一区| 欧美精品少妇| 91欧美一区二区| 国产女人水真多18毛片18精品 | 亚洲在线成人精品| 最新国产精品久久| 国产永久av在线| 久久青草国产手机看片福利盒子 | 久章草在线视频| 水蜜桃在线视频| 性感美女久久精品| 免费毛片网站在线观看| 俺来也官网欧美久久精品| 亚洲综合一二区| av动漫在线播放| 天天综合视频在线观看| 国产精品国模大尺度视频| 五月天亚洲综合小说网| av男人的天堂在线| 国产精品久久久久久久久久免费看| 欧洲精品亚洲精品| 超碰在线影院| 亚洲天堂a在线| 日本三日本三级少妇三级66| 亚洲妇熟xxxx妇色黄| 亚洲精品高清视频在线观看| 美女av免费观看| 九九色在线视频| 亚洲成人动漫精品| 免费在线激情视频| 91在线亚洲| 日韩三级电影网址| japanese在线观看| 中文字幕亚洲影视| 在线成人激情黄色| 97在线观看免费高| 激情偷拍久久| 国产成人精品一区二区三区| 中文字幕一二三四| 国产精品99久久久| 久久av一区二区| 91高清在线| 一区二区三区四区蜜桃| 国产在线观看福利| 精品久久在线| 精品国产乱码久久久久久免费| 麻豆精品国产传媒av| 成人6969www免费视频| 久久亚洲精品视频| 中日韩精品视频在线观看| 奇米四色…亚洲| 97久久天天综合色天天综合色hd | 亚洲电影免费观看| 一二三四国产精品| 黄色国产精品| 国产精品久久久久久久午夜| 午夜精品久久久久久久第一页按摩| 成人av网址在线| 亚洲一二区在线| 欧产日产国产精品视频| 欧美日韩精品一区二区天天拍小说| 亚洲自拍第三页| 九九热线有精品视频99| 麻豆国产精品va在线观看不卡| 亚洲第一精品在线观看| 国产呦精品一区二区三区网站| 精品免费视频123区| 黄色成人影院| 色94色欧美sute亚洲13| 日本wwwwwww| 99精品国产一区二区三区| 26uuu另类亚洲欧美日本一| 在线免费观看一区二区| 91丨porny丨在线| 美国av在线播放| 久久99久久99精品免观看软件| 欧美成人一区二区三区在线观看| 欧美福利第一页| 国产一区二区高清| 超碰97人人在线| 色综合久久影院| 色av成人天堂桃色av| 天天躁日日躁狠狠躁av| 中文无码久久精品| 国产精品久久久久久久一区探花 | 免费日韩在线观看| 日韩一区二区三区四区五区 | 欧美午夜激情小视频| 宇都宫紫苑在线播放| 欧美激情国产在线| 国产精品欧美激情| 久久久资源网| 欧美性猛交xxxx| 日韩av一二区| 凹凸精品一区二区三区| 亚洲欧美清纯在线制服| 国产精品v欧美精品v日韩| 久久精品视频观看| 欧美日韩国产免费一区二区 | 成人直播在线观看| 欧美老少配视频| 国产精品爽爽久久| 亚洲欧洲日韩在线| 久热在线视频观看| 欧美韩日一区| 91九色视频导航| 欧美性videos| 欧美一二三区精品| 青娱乐国产盛宴| 国产.欧美.日韩| 成人av在线不卡| 澳门久久精品| 性色av香蕉一区二区| 天堂成人在线观看| 婷婷综合五月天| 波多野吉衣中文字幕| 美女国产一区| 亚洲精品乱码视频| 日日狠狠久久| 欧美老肥婆性猛交视频| 国产超碰人人模人人爽人人添| 亚洲美女视频在线观看| 久久久久久久久久久久国产精品| 欧美激情偷拍| 国产一区在线免费| 亚洲永久av| 日韩中文字幕av| 91一区二区视频| 一区二区激情小说| 91传媒理伦片在线观看| 久久久久久网| 在线观看成人av电影| 欧美一区一区| 欧美影院久久久| av播放在线| 欧美xxxx在线观看| 国产91精品一区| 中文字幕国产精品一区二区| 亚洲欧美日韩一二三区| 亚洲人成久久| 三区精品视频| 亚洲视频一起| 日韩免费在线看| www.欧美日本韩国| 亚洲黄色av女优在线观看 | 羞羞电影在线观看www| 日韩av综合网站| 一二区在线观看| 亚洲国产你懂的| 色噜噜噜噜噜噜| 成人性生交大片免费看视频在线| 免费日韩中文字幕| 欧美激情综合色综合啪啪| 欧美大香线蕉线伊人久久国产精品 | 色偷偷噜噜噜亚洲男人的天堂| 精品国自产拍在线观看| 在线欧美日韩国产| 国产精品日日夜夜| 国产亲近乱来精品视频| 蜜臀av粉嫩av懂色av| 蜜臀国产一区二区三区在线播放 | 中文字幕有码在线观看| 精品一区电影国产| 99国产精品久久久久99打野战| 欧美日韩亚洲系列| 欧美日韩人妻精品一区二区三区| 久久综合资源网| 日韩高清一二三区| 男女性色大片免费观看一区二区| 和岳每晚弄的高潮嗷嗷叫视频| 99精品综合| 欧美下载看逼逼| 操欧美女人视频| 91久久久亚洲精品| 3d性欧美动漫精品xxxx软件| 97人人模人人爽人人喊中文字| 看黄网站在线观看| 少妇激情综合网| 国产乱子伦三级在线播放| 精品对白一区国产伦| 国产精品亚洲lv粉色| 欧美丝袜丝交足nylons| 天堂中文字幕在线观看| 亚洲一本大道在线| www.超碰在线观看| 中文字幕日本不卡| 人妻无码一区二区三区| 成人免费电影视频| 蜜桃视频无码区在线观看| 久久国产精品99精品国产| 成人性视频欧美一区二区三区| 1024成人| 国产一区二区四区| 国产精品v日韩精品v欧美精品网站| 欧美日韩在线免费观看视频| 国产精品毛片一区二区在线看| 日本日本精品二区免费| 国产午夜一区| 欧美中日韩一区二区三区| 久久av国产紧身裤| 国产免费一区二区| 黄色欧美网站| 国产二区一区| 精品成人自拍视频| 久久资源亚洲| 竹菊久久久久久久| 丝袜美腿玉足3d专区一区| 国产欧美日韩精品高清二区综合区| 精品国产一二| 伊人久久综合影院| 日韩av一区二区三区在线观看| 亚洲精华一区二区三区| 欧洲av一区| 欧美大人香蕉在线| 黑人巨大国产9丨视频| 最新精品国产| 免费看欧美黑人毛片| 国产欧美一区二区三区国产幕精品| 国产特级黄色大片| 视频在线观看一区| 182午夜在线观看| 精彩视频一区二区| 乱码一区二区三区| 波多野结衣在线一区| 中文字幕在线观看网址| 国产日产欧美一区| 久久国产波多野结衣| 亚洲精品五月天| 日韩三级一区二区三区| 色综合久久久久综合体| 中文字幕免费高清在线观看| 欧美二区三区91| 黄色片一区二区| 亚洲美女av在线播放| 超碰在线国产| 九九热在线精品视频| 国产精品高颜值在线观看| 国产91精品在线播放| 香蕉久久久久久| 国产伦精品一区二区三区照片| 香蕉视频一区二区三区| 中文字幕不卡每日更新1区2区| 欧美精品一区二区三区久久久竹菊| 免费观看国产精品视频| 日韩av一区二区三区四区| 超级砰砰砰97免费观看最新一期| 99视频一区二区| 大胸美女被爆操| 亚洲国产日韩综合久久精品| 日韩三级一区二区| 欧美一区二区三区免费观看视频| 性xxxx视频| 精品国产一区二区在线| 五月天av在线| 91色中文字幕| 九九在线高清精品视频| avav在线播放| 久久精品国产一区二区| 国产激情第一页| 亚洲丝袜另类动漫二区| 在线能看的av| 日韩欧美综合一区| 成年在线电影| 97视频在线观看播放| **日韩最新| 日本精品一区二区三区不卡无字幕| 欧美欧美全黄| 亚洲免费黄色录像| 久久精品亚洲乱码伦伦中文 | 国产精品一区二区三| 高清一区二区三区| 亚洲美女自拍偷拍| 日本在线播放一区二区三区| 日本50路肥熟bbw| 自拍偷拍亚洲欧美日韩| 久久国产黄色片| 亚洲第一中文字幕| 七七成人影院| 91在线播放国产| 日韩激情免费| 免费国产成人av| 91视频观看视频| 麻豆91精品91久久久| 欧美一区国产二区| 欧美成人三区| 国产精品人人做人人爽| 久操成人av| 国产亚洲综合视频| 成人av午夜电影| 国产精品99精品| 精品国产欧美一区二区| 99在线播放| 亚洲v日韩v综合v精品v| 天天综合精品| 欧美精品久久久久久久久25p| 久久精品人人爽人人爽| av片免费观看| 亚洲天堂第二页| 成人黄色免费短视频| 美日韩精品免费| 久久久国产亚洲精品| a视频免费观看| 疯狂做受xxxx欧美肥白少妇| 天天综合网在线观看| 韩国国内大量揄拍精品视频| 粉嫩一区二区三区四区公司1| 日韩激情视频一区二区| 高清国产一区二区| 国产主播在线观看| 精品av综合导航| 黄色激情在线播放| 久久久福利视频| 久久天天综合| 国产亚洲精品精品精品| 欧美日韩一区二区三区高清| 国产youjizz在线| 国产精品视频自拍| 五月婷婷六月综合| 亚洲成人激情小说| 亚洲国产欧美在线人成| 午夜成人鲁丝片午夜精品| 青青在线视频一区二区三区| 国内精品伊人久久久| 成人免费在线观看视频网站| 中文字幕一区二区日韩精品绯色| 国产精品一区二区av白丝下载| 久久艹在线视频| 国产伦理久久久久久妇女| 116极品美女午夜一级| 国产日韩欧美一区二区三区乱码 | 欧美一区二区三区啪啪| 国产99re66在线视频| 久久另类ts人妖一区二区| 久久综合狠狠| 婷婷伊人五月天| 欧美精品一区视频| 向日葵视频成人app网址| 亚洲AV无码成人精品一区| 国产成人午夜99999| 天天综合天天干| 久久精品视频在线| 欧美精品国产白浆久久久久| 美女一区二区三区视频| 亚洲综合无码一区二区| 蜜桃视频在线入口www| 成人久久久久久久| 一本色道久久精品| eeuss中文字幕| 亚洲精品久久久久中文字幕欢迎你| 桃花岛tv亚洲品质| 97中文字幕在线| 日本一区二区视频在线| www.四虎在线观看| 国产精品旅馆在线| 亚洲精一区二区三区| 中文字幕91视频|