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

深入淺出Redis高可用:哨兵機制

數據庫 Redis
在大型的互聯網應用上,Redis 為了保證高可用,會在主從復制的部署架構上進一步引入哨兵機制。如果說主從同步是 Redis 高可用的數據保障基礎,那哨兵機制就是 Redis 高可用的進階支撐,有了它,就不用擔心 Redis 掛了后得人工升級,并且還非常低效的問題了。

1. 引言

之前我們聊過 Redis 的主從同步(復制)主題,這期我們來聊 Redis 的哨兵機制。

上期我們說過,在實際互聯網架構上,Redis 為了保證高可用和分擔讀寫壓力,幾乎都會采取主從復制的部署架構。

一方面讓架構易于擴展,另一方面防止單體故障:當主庫掛了,可以立即拉起從庫,不至于讓業務停滯太久。

江湖門派林立

如果把所有互聯網應用看做是一個江湖,Redis 是武林中的門派,為了讓門派更加穩定,每個門派都有掌門和副掌門。

在一些小門派里面,掌門仙逝以后,都會開追悼大會,然后從副掌門中再選一個掌門出來主持大局,這個過程可能會持續好幾天。

但是,在一些大門派里面,比如武林之中一些有名望的派別:武當、少林(如淘寶、微信)之流,卻不可一日無掌門。

放到如今的雙 11,電商應用掛幾秒鐘可能都是千萬甚至億萬級別的損失,所以對系統的可用性要求非常高。

一般大型應用的可用性都需要達到 4 個 9:即 99.99%,一年宕機時間不超過 53 分鐘。

那以武當(淘寶 Redis)為例,需要如何保證門派的穩定性呢?

首先我們得依賴副掌門機制(主從復制)做備份,上篇我們已經說過了。

這期我們來說一下在掌門掛了后如何高效交接事務(故障轉移),武林門派大會 2.8 后,每個門派有一個單獨的部門來負責掌門交接事宜——哨兵部門。

Redis2.8 版本以后提供的哨兵機制(Sentinel)。

2. 哨兵部門的職責

在武當派,張真人之下有武當七俠,從聲望和資歷來看,派內將前兩位弟子作為副掌門人選,他們平時也會輔助掌門處理門派事務。

而哨兵部門的職責,主要有四點:

圖片圖片

  • 監控:檢查掌門和副掌門狀態,查看他們的生命體征和情緒狀態是否正常;
  • 自動故障轉移:當掌門人閉關或者嗝屁了后,立馬從副掌門選一個新掌門接手門派事務;
  • 配置提供者:外賓(客戶端)來訪時,通過哨兵部門來獲取掌門人的聯系方式;
  • 通知:掌門更換以后,哨兵部門將新掌門已更新的信息發布到外界。

其中監控和故障轉移功能主要是為了維系系統的穩定,可以第一時間感知幾位掌門的狀態,當掌門人閉關或者嗝屁以后,能快速地選出一個新的掌門接替門派事務。

而配置提供和通知功能主要是和客戶端交互,可以理解為哨兵部門是外賓和門派建立聯系的橋梁。

并且,當掌門人易主以后,哨兵機制會向客戶端發布新的主節點地址。仿佛在向外界宣布,新掌門聯系方式變了,望周知!

3. 哨兵部門如何工作

哨兵部門這么強橫,那它究竟是怎么做到的呢?接下來我們從分別從監控、節點切換、發布通知和節點恢復來詳細介紹一下。

3.1 監控-感知各掌門的狀態

雖然說是監控,但哨兵只是對各掌門人的狀態是否正常做一個判斷,門派事務哨兵是一概不參與的(畢竟人家是掌門&副掌門,哨兵還管不著這么寬)!

在武當派,不管是哨兵部門的成員,還是副掌門之上,都會一招 “千里傳音”,以便更好地傳遞事務消息。

那既然不能參與事務,哨兵如何監控它們的狀態呢?

圖片圖片

如圖所示,哨兵成員會定期給掌門人們千里傳音,各掌門如果定時回復,那掌門人就處于正常狀態。

反之,如果掌門在規定時間內不回復就說明狀態不正常,哨兵就會采取行動。

主觀下線

在 Redis 服務器中,哨兵每隔 1 秒會給主從節點發送 PING 命令,如果在一定時間內收到響應,就說明節點正常運行。

如果任意一個主/從節點沒有在規定時間內(down-after-milliseconds 可配置,單位是毫秒)響應,哨兵就認為這個節點掛了,將其標記為主觀下線。

為什么是主觀下線呢?

因為 Redis 中為了保證監控的穩定性,當一個哨兵沒收到回復時,就說明這個節點有概率掛了,但是不一定完全是節點的問題,也有可能是網絡故障,或者阻塞了導致消息沒有正常傳播。

在武當,哨兵部門就出過洋相!

那天,某個哨兵監控到掌門人長時間不回復消息,于是主觀判斷掌門人嗝屁了。于是開始換掌門,發通知,一頓操作下來,掌門人又傳來回復說晚飯吃得有點飽,千里傳音可能聲音比較小,哨兵沒聽到。

這讓武林同道看盡了笑話,至今傳為茶余飯后的談資。

客觀下線

于是,為了防止這種情況的發生,哨兵部門決定加派人手,每個部門至少 3 個人,每次判斷掌門嗝屁時如果有多個人得出相同的判斷,才能說明這個判斷有效。

在 Redis 里,每次部署哨兵集群時至少三臺機器來部署,當某個哨兵判斷節點主觀下線后,就會向其它哨兵發起命令,其它哨兵根據自己的監控情況,給出贊同或者反對的投票。

圖片圖片

當多數節點(比如 3 個哨兵有 2 個都認可,quorum 可配置這個值)支持節點已下線,該節點會被標記為客觀下線。

當判斷主節點客戶下線后,哨兵機制會進行故障轉移操作,即選出一個從節點升級為主節點。

不難理解,如果掌門人掛了,則哨兵部門會重新選一個新的掌門,來接替門派事務。

3.2 節點切換:如何選出新掌門

領頭哨兵:主持掌門更換儀式

首先,哨兵部門會先選一個領頭哨兵(leader sentinel),來主持換掌門的儀式。

圖片圖片

領頭哨兵的選舉需要從領頭候選人(leader candidate)里面選,而只有發現掌門客觀下線的哨兵成員才可以成為候選人。

通過所有哨兵節點給候選人投票,至少得票數過半的候選人才能成為領頭哨兵。

為了防止票數重疊(刷票行為),每個節點只可以投一票,并且當節點成為哨兵候選人時,會首先給自己投一票。

不難理解,畢竟換掌門儀式和下任新掌門息息相關,所以每個哨兵都想當這個 leader。

在 Redis 里面,參選領頭哨兵的候選人不止需要拿到半數以上的票,還需要超過配置文件中的 quorum 值才可以成為 leader sentinel。

為了防止投票數一致的問題,哨兵個數和 Redis 的節點數一樣,一般為單數個。

主從故障轉移:選出新掌門

哨兵集群中選出一個 leader哨兵 之后,就開始進行主從故障轉移。

在武當,老掌門掛了,誰來當這個新掌門呢?

為了公平起見,哨兵部門制定了一個策略,會從副掌門的向上管理能力、業務熟悉程度以及資歷來考慮。

對應 Redis 里選主節點的三大策略:優先級、復制進度、節點 ID 號。

1. 優先級

哨兵會根據從節點的優先級進行排序,優先級越小排名越靠前。

在門派中,這可能是看哪個副掌門的向上管理做得更好,和領導走得更近,畢竟,掌門在選接班人時也會有優先級的側重。

2. 復制進度

如果節點的優先級不分上下,則查看數據復制的 slave_repl_offset 參數,這個參數指向了從節點復制數據的偏移量,偏移量越大(復制數據越多)的那個從節點勝出。

想了解更多的,可以看我上一篇文章:救命!只有我還不明白Redis主從復制的原理嗎?

這就好比掌門不偏不倚,對待副掌門都一視同仁。這就得考量副掌門的業務熟悉能力了,誰在掌門那里學的本事越多,誰就來當這個新掌門。

3. 節點 ID 號

當優先級和復制程度都相同時,就選擇從節點 ID 較小的那個(說明排行越高)。

當副掌門的受重視程度和能力不相上下時,就得論資排輩了,看誰資歷更高,排行更靠前(大師兄 > 二師兄 > 三師弟),誰就來當這個新掌門。

3.3 通知機制:更換掌門后告知武林同道

在哨兵機制的協助下,從節點晉升為主節點,這時機器節點的 IP 等信息都更換了,所以需要知會客戶端和新的主節點進行通信,這是通過發布/訂閱者機制實現的。

圖片圖片

每個門派可能有諸多事宜,但是客戶端(外賓)不會關心所有的事件,它們只關心一些像掌門更換這種大事情。

在 Redis 里面,哨兵機制提供的訂閱事件主要有如下三種:

  1. 主節點下線事件:如節點主觀下線(+sdown)、客觀下線(+odown)等;
  2. 從庫更新配置事件:如重新同步(+slave-reconf-sent)、主從同步完成(+slave-reconf-done)等;
  3. 主節點更換:主庫地址發生變化(+switch-master)。

如果客戶端訂閱了主節點更換的事件,就會收到哨兵的通知事件,進而調整自身連接的節點信息。

3.4 節點恢復:老掌門出關,擔任副掌門

所謂一山不容二虎,哨兵部門在更換掌門后要做的職責是,繼續監控老掌門的體征信息。

圖片圖片

一當老掌門有消息回復時,哨兵部門就會告訴它,現在已經有新掌門人了,老掌門失聯這么久,對門派事務的了解難免落后,所以會讓它先擔任副掌門。

Redis 中,哨兵集群會向重新上線的舊主節點發送 SLAVEOF 命令,讓它成為新主節點的從節點。

當哨兵集群同步這個事件以后,會接著發布從庫更新配置事件的訂閱消息,讓客戶端也知曉。

4. 小結

在大型的互聯網應用上,Redis 為了保證高可用,會在主從復制的部署架構上進一步引入哨兵機制。

如果說主從同步是 Redis 高可用的數據保障基礎,那哨兵機制就是 Redis 高可用的進階支撐,有了它,就不用擔心 Redis 掛了后得人工升級,并且還非常低效的問題了。

畢竟,亂世江湖,門派中一旦群龍無首,就很容易陷入危機,導致四分五裂!

接下來我們總結一下,哨兵機制的工作流程:

  1. 監控各節點狀態,判斷是否下線(千里傳音,了解各掌門狀態);
  2. 當主節點主觀下線以后,選出一個領頭哨兵做故障轉移(掌門人掛了,選一個leader主持掌門更換儀式);
  3. 選出一個從節點,晉升為從節點,并發布通知(選出新掌門,向武林同道發布這個消息);
  4. 繼續監控,如果老節點恢復,就讓它作為新主節點的備份從節點(老掌門出關,先給個副掌門當當)。

而 Redis 精準無誤地執行上述流程,是通過發布訂閱、投票算法等機制做到的,這讓系統的高可用進一步得到了保障。

在派系林立的江湖也這樣,哨兵部門如果能很好地處理掌門人之間的權力和事務關系,門派發展擴大亦是指日可待!

責任編輯:武曉燕 來源: xin猿意碼
相關推薦

2019-11-21 10:25:28

分布式架構系統

2019-04-19 09:39:58

Redis分布式集群

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2020-05-27 20:25:47

SpringSpringBoot數據

2018-12-19 14:40:08

Redis高級特性

2023-12-18 09:46:13

Kafka集群開發

2017-07-02 18:04:53

塊加密算法AES算法

2019-01-07 15:29:07

HadoopYarn架構調度器

2012-05-21 10:06:26

FrameworkCocoa

2021-07-20 15:20:02

FlatBuffers阿里云Java

2022-09-26 09:01:15

語言數據JavaScript

2025-05-09 01:30:00

JavaScript事件循環基石

2018-01-25 18:30:09

Zookeeper分布式數據

2019-11-11 14:51:19

Java數據結構Properties

2009-11-30 16:46:29

學習Linux

2018-11-09 16:24:25

物聯網云計算云系統

2021-04-27 08:54:43

ConcurrentH數據結構JDK8

2022-11-09 08:06:15

GreatSQLMGR模式

2012-02-21 13:55:45

JavaScript
點贊
收藏

51CTO技術棧公眾號

欧美成熟毛茸茸复古| 久久久精品一区二区三区| 日韩在线视频在线观看| 国产在线免费观看| 久久国产欧美日韩精品| 欧美激情一级欧美精品| 欧美亚一区二区三区| 日本欧美在线| 天天综合色天天| 中文字幕日韩精品一区二区| 手机在线精品视频| 麻豆精品在线播放| 2018国产精品视频| 亚洲精品久久久久久国| 女同一区二区三区| 欧美日本高清视频在线观看| 国产特级淫片高清视频| 国产区在线观看| 久久夜色精品国产噜噜av| 国产欧美一区二区三区在线| 天堂网一区二区三区| 午夜片欧美伦| 国产一区二区三区高清在线观看| 在线中文字日产幕| 国产精久久一区二区| 日本道色综合久久| 高清欧美精品xxxxx| 麻豆传媒在线免费看| 国产午夜精品一区二区三区四区| 国产精品av一区| 国产精品一级视频| 日韩不卡一区二区三区| 91精品成人久久| 精品视频在线观看免费| 亚洲欧美在线专区| 深夜福利91大全| 色欲AV无码精品一区二区久久| 国产精品传媒| 欧美xxxxxxxxx| 99999精品| 成人在线视频www| 欧美日韩精品欧美日韩精品一综合| 日本在线观看a| 蜜桃麻豆av在线| 亚洲一区二区欧美激情| 穿情趣内衣被c到高潮视频| 国产福利第一视频在线播放| 2020国产精品久久精品美国| 国产自产精品| 日本久久一级片| 黄色在线视频观看网站| 波多野在线观看| 1024国产精品| 亚洲一区二区三区精品动漫| 超碰国产在线观看| 国产女主播视频一区二区| 欧美一区二区福利| 国产色在线 com| 国产日产欧美一区| 日韩电影天堂视频一区二区| 国产中文字幕在线| 久久九九全国免费| 水蜜桃亚洲精品| 一本一道波多野毛片中文在线| 国产精品欧美极品| youjizz.com亚洲| 精精国产xxxx视频在线| 亚洲视频综合在线| 日本中文字幕一级片| 美足av综合网| 欧美日韩亚洲天堂| 亚洲欧美在线精品| 精品一区二区三区亚洲| 日韩午夜精品电影| 午夜久久久久久久| 国产一区二区三区电影在线观看| 91精品国产aⅴ一区二区| 成人性色生活片免费看爆迷你毛片| 国产欧美一区二区精品久导航| 国产伦精品一区二区三区四区免费| 日本高清视频免费观看| 91在线一区二区三区| 欧洲成人一区二区| 欧美成人高清在线| 一区二区三区久久久| 国产日韩欧美精品在线观看| 亚洲黄色免费看| 欧美日韩午夜在线视频| 国产免费无码一区二区| 免费av一区二区三区四区| 精品国产一区二区三区久久久狼 | 国产丶欧美丶日本不卡视频| 俄罗斯精品一区二区三区| 欧美高清电影在线| 亚洲天堂成人在线观看| 久久黄色片视频| 国产又大又粗又硬| 国产一本一道久久香蕉| 国产专区一区二区| 欧美成人二区| 欧美性jizz18性欧美| 亚洲小视频网站| 欧美五码在线| 日韩中文有码在线视频| 日韩毛片在线播放| 激情久久久久久久久久久久久久久久| 久久国产一区二区| 在线免费观看污| 欧美在线观看你懂的| wwwxx日本| 999成人网| 青草青草久热精品视频在线网站| 国产色在线视频| 国产日韩欧美一区二区三区乱码 | 久久精品女人天堂| 97久草视频| xxxxx日韩| 懂色av影视一区二区三区| 午夜免费一级片| 国产探花一区在线观看| 97久久精品在线| www.超碰在线.com| 国产精品超碰97尤物18| 国产成人无码av在线播放dvd| www.豆豆成人网.com| 日韩午夜在线视频| 夜夜躁日日躁狠狠久久av| 不卡的电视剧免费网站有什么| 欧美日韩视频免费在线观看| av在线一区不卡| 亚洲人成啪啪网站| 国产女同在线观看| 成人性视频免费网站| 2021国产视频| 爱情电影网av一区二区| 综合久久五月天| 免费精品一区二区| 久久久久久久免费视频了| 乱妇乱女熟妇熟女网站| 久久免费视频66| 国内自拍欧美激情| 手机看片一区二区三区| 亚洲成a人v欧美综合天堂| 精品伦一区二区三区| 欧美不卡一区| 99一区二区| 黄色美女视频在线观看| 精品国产乱码久久久久久久久| 久久黄色免费视频| 国产99久久久精品| 第九区2中文字幕| 经典三级久久| 欧美日韩aaaa| 日韩一级片免费| 欧美日韩中国免费专区在线看| 熟女人妻在线视频| 麻豆亚洲精品| 一级日韩一区在线观看| 9999精品免费视频| 久久艳片www.17c.com| 国产sm主人调教女m视频| 一区二区三区日韩欧美| 精品熟女一区二区三区| 一区二区日韩免费看| 欧美区高清在线| 成人黄色在线| 久久夜精品香蕉| 秋霞网一区二区| 日本韩国一区二区三区视频| 综合 欧美 亚洲日本| 国产自产高清不卡| 欧美a级免费视频| 全球av集中精品导航福利| 国产精品99久久久久久人| 青青青青在线| 精品欧美一区二区久久| 少妇太紧太爽又黄又硬又爽| 日本一区二区三级电影在线观看 | 久久91视频| 久久天天躁日日躁| 无码国产精品一区二区色情男同| 91国产免费看| 激情综合网五月天| 91美女片黄在线观看| 天堂中文av在线| 亚洲人体大胆视频| 亚洲精品一区二| 91蜜桃臀久久一区二区| 国产成人亚洲精品| 97超碰资源站在线观看| 日韩国产中文字幕| 国产精品系列视频| 色综合咪咪久久| 69xx绿帽三人行| 久久精品一二三| 久草福利在线观看| 奇米影视一区二区三区| 精品无码一区二区三区爱欲| 日韩在线视频精品| 久久精品国产精品国产精品污| 外国成人毛片| 国产91久久婷婷一区二区| 午夜羞羞小视频在线观看| 亚洲四色影视在线观看| 亚洲成人久久精品| 欧美日韩在线观看一区二区| 日操夜操天天操| 国产精品嫩草影院com| 麻豆国产精品一区| 豆国产96在线|亚洲| 三级视频中文字幕| 欧美一级播放| 国产精品自拍合集| 日韩精品永久网址| 明星裸体视频一区二区| 一区二区亚洲视频| 成人免费网视频| 日韩精品麻豆| 5252色成人免费视频| 肉体视频在线| 免费不卡在线观看av| 最近高清中文在线字幕在线观看| 日韩成人激情在线| 天堂av2024| 日韩久久久精品| 国产强伦人妻毛片| 91精品啪在线观看国产60岁| 九九热最新视频| 色婷婷av一区二区三区之一色屋| www.99re7.com| 一区二区成人在线视频| 懂色av懂色av粉嫩av| 国产精品理论片在线观看| 国产精品久久久久无码av色戒| youjizz久久| 白嫩情侣偷拍呻吟刺激| 岛国一区二区在线观看| 国产精品成人免费一区久久羞羞| 国产一区二区在线观看免费| 日韩成人av免费| 国产一区久久久| 五月六月丁香婷婷| 国产一区二区在线观看视频| 韩国三级丰满少妇高潮| 国产伦精品一区二区三区视频青涩| 在线黄色免费观看| 蜜桃av一区二区| 老司机久久精品| 国产一区二区伦理片| 日本精品一区在线| 国产精品一区二区你懂的| gogo亚洲国模私拍人体| 成人h动漫精品一区二区| 成熟妇人a片免费看网站| 97久久精品人人澡人人爽| 99re久久精品国产| 久久男人中文字幕资源站| 亚洲理论片在线观看| 中文子幕无线码一区tr | 亚洲已满18点击进入久久| 久久久久久免费观看| 午夜婷婷国产麻豆精品| 国产成人无码一区二区在线播放| 日本乱人伦aⅴ精品| 一级特黄录像免费看| 日韩视频免费直播| 天天操天天操天天操| 亚洲色图50p| 九七电影韩国女主播在线观看| 久久91超碰青草是什么| 日韩影院在线| 国产精品亚洲精品| 免费精品一区| 国内一区在线| 欧美色图国产精品| 好色先生视频污| 在线亚洲自拍| 成 人 黄 色 小说网站 s色| 国产精品综合一区二区三区| 亚洲一区二区三区综合| 国产三级精品视频| 欧美日韩偷拍视频| 日韩欧美大尺度| 91在线视频国产| 日韩大陆欧美高清视频区| h视频网站在线观看| 欧美激情中文字幕在线| 日韩成人影音| aaa级精品久久久国产片| 免费观看久久av| 四虎精品欧美一区二区免费| 先锋影音久久久| 一区二区三区国产好的精华液| av日韩在线网站| www.涩涩爱| 亚洲超丰满肉感bbw| 中文字幕乱码无码人妻系列蜜桃| 欧美成人性战久久| 777电影在线观看| 久久久欧美一区二区| 成人黄色毛片| 久久久久久国产精品mv| 亚洲成人精品| 999精品网站| 成人高清视频在线观看| 黄色一级大片在线免费观看| 欧美日韩国产精品一区二区三区四区 | 国产伦精品一区二区三区免费视频 | 久久精品国产精品亚洲综合| 奇米777第四色| 亚洲欧美日本在线| 在线观看xxxx| 亚洲欧美日韩中文在线| av手机免费在线观看| 91在线色戒在线| 不卡视频在线| 成人小视频在线看| 9久草视频在线视频精品| 久久久久久激情| 538在线一区二区精品国产| 成人免费高清在线播放| 51视频国产精品一区二区| 国产精品1luya在线播放| 成人午夜免费剧场| 精品一区二区三区影院在线午夜 | 国产mv久久久| 色先锋久久影院av| 人妻无码久久一区二区三区免费| 黑人巨大精品欧美一区| 最新av电影网站| 欧美日韩久久一区二区| 国产福利在线视频| 国产精品成人在线| 久久av影视| 动漫av免费观看| 久久久青草青青国产亚洲免观| 男女啊啊啊视频| 亚洲精品国产综合久久| 999av小视频在线| www日韩av| 国内久久精品| 人妻 日韩 欧美 综合 制服| 亚洲国产成人91porn| 人人妻人人玩人人澡人人爽| 97成人精品区在线播放| 亚洲精品国产动漫| 国产精品欧美激情在线观看| 久久九九国产精品| 中文字幕乱码一区二区| 日韩中文在线观看| 免费看日产一区二区三区| 日本a级片在线播放| 懂色av一区二区三区免费看| 国产无码精品久久久| 亚洲国产成人精品电影| 亚洲性受xxx喷奶水| 免费在线一区二区| 日本女人一区二区三区| 日本二区三区视频| 欧美一区二区三区日韩| 成人免费一区二区三区牛牛| 国产一区精品视频| 久久中文在线| www.com.av| 日韩色在线观看| 午夜影院在线播放| 色999五月色| 激情成人综合网| 日韩黄色a级片| 亚洲性日韩精品一区二区| 欧洲精品久久久久毛片完整版| 99精品一区二区三区的区别| 成人国产亚洲欧美成人综合网| 日韩精品成人免费观看视频| 最新亚洲国产精品| 综合激情久久| 成人羞羞国产免费网站| 国产精品精品国产色婷婷| 亚洲男人第一天堂| 日本一区二区三区四区视频| 99tv成人| 一级特级黄色片| 欧美精品乱人伦久久久久久| 不卡一本毛片| 一级二级三级欧美| 99国产精品久久久久久久久久久| 波多野结衣电影在线播放| 久久天天躁夜夜躁狠狠躁2022| 日韩av系列| 日日夜夜精品视频免费观看 | 国产精品亚洲αv天堂无码| 亚洲欧洲日产国码二区| 天天色综合久久| 国产在线精品一区免费香蕉| 亚洲精一区二区三区| 2014亚洲天堂| 亚洲美女性视频| 一区二区三区在线资源| 九九九在线观看视频| 亚洲国产精品久久人人爱|