精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产成人艳妇aa视频在线 | 日韩国产精品91| 亚洲人av在线影院| 亚洲成人手机在线观看| 台湾佬中文娱乐网欧美电影| 欧美韩国日本不卡| 成人在线免费网站| 免费在线不卡av| 韩日欧美一区| 中文欧美在线视频| 国产草草浮力影院| 亚洲精品一区av| 欧美日韩激情美女| 国产亚洲精品久久久久久久| 国产福利在线| 91在线观看免费视频| 91精品视频免费| 成人毛片一区二区三区| 精品999成人| 久热精品视频在线| wwwww黄色| 色老板在线视频一区二区| 91精品国产入口在线| 粉嫩虎白女毛片人体| 国产精品国精产品一二| 亚洲天堂久久久久久久| 日韩视频专区| 欧洲天堂在线观看| 成人动漫一区二区| 亚洲伊人一本大道中文字幕| 最近中文字幕在线免费观看| 亚洲中午字幕| 97色在线视频观看| 欧美精品xxxxx| 91精品一区二区三区综合| 一区二区三区四区视频| 成人免费网站黄| 精品国产一区二区三区成人影院| 日韩欧美在线1卡| 欧洲美女亚洲激情| 四虎视频在线精品免费网址| 欧美色综合网站| 91视频免费版污| 日日av拍夜夜添久久免费| 日韩欧美aaa| 欧美 国产 小说 另类| а√天堂8资源中文在线| 亚洲资源中文字幕| 白白操在线视频| 色帝国亚洲欧美在线| 亚洲视频在线一区| 51xx午夜影福利| a级影片在线观看| 一个色在线综合| 日韩国产小视频| xxxx在线视频| 姬川优奈aav一区二区| 777av视频| 日韩精品av| 日本韩国一区二区三区| 亚洲欧美激情网| 欧美日韩va| 在线不卡免费欧美| 欧美老女人bb| 欧美人妖在线观看| 国产亚洲精品综合一区91| 日本一二三不卡视频| 香蕉精品视频在线观看| 欧美极品xxxx| 国产高清中文字幕| 免费看的黄色欧美网站| 国产精品久久久久久久久久小说| 中文字字幕在线观看| 激情文学综合丁香| 成人免费在线一区二区三区| 黄色av免费观看| 久久久久国产成人精品亚洲午夜| 色之综合天天综合色天天棕色| 色网站在线看| 午夜精品久久久久久| 欧美日韩一区二区在线免费观看| 精品三级在线| 欧美变态凌虐bdsm| 亚洲精品国产91| 亚洲精品国产首次亮相| 69精品小视频| 一区二区www| 成人高清视频在线| 亚洲国产日韩欧美| 国产蜜臀在线| 欧美日韩你懂的| 成人区人妻精品一区二| 精品美女视频| 欧美激情一区二区三区在线视频观看| 国产一级做a爱片久久毛片a| 六月丁香综合在线视频| 国产精品日韩高清| 日本美女在线中文版| 精品国产鲁一鲁一区二区张丽| 欧美日韩在线免费播放| 91夜夜蜜桃臀一区二区三区| 在线观看免费高清视频97| 九九热精彩视频| 日本欧美一区二区三区乱码| 国产精品国产三级欧美二区| 国产高清视频在线播放| 亚洲电影一区二区三区| 污污网站免费观看| 欧美人体视频| 欧美国产日韩一区二区在线观看| 中文天堂在线视频| 97久久超碰精品国产| 桥本有菜av在线| 性欧美18一19sex性欧美| 日韩欧美国产一区二区三区| 久久一级免费视频| 午夜在线精品偷拍| 国产精品12| 青青青青在线| 91久久线看在观草草青青| 日本一区二区免费视频| 亚洲第一偷拍| 国产精品亚洲综合天堂夜夜| 青青草手机在线| 亚洲福利电影网| 真实乱偷全部视频| 91亚洲一区| 国产精品视频1区| 麻豆影视在线| 欧美视频中文字幕在线| 日韩少妇一区二区| 亚洲天堂激情| 18成人免费观看网站下载| 日日夜夜精品一区| 亚洲永久视频| 91久久久在线| 嫩草在线视频| 欧美日本在线一区| 国产一级淫片久久久片a级| 久久久精品五月天| 免费一区二区三区| 天堂а√在线最新版中文在线| 欧美v日韩v国产v| av激情在线观看| 精品一二三四在线| 中文字幕一区二区三区四区五区人| 91在线成人| 中文字幕日韩精品有码视频| 销魂美女一区二区| 亚洲国产精品黑人久久久| 男女av免费观看| 综合综合综合综合综合网| 91国内免费在线视频| 飘雪影视在线观看免费观看| 日韩欧美视频一区二区三区| 精品少妇人妻一区二区黑料社区| 久久综合导航| 亚洲欧洲精品在线观看| 久久99国产精品二区高清软件| 中文国产亚洲喷潮| 国产乱淫a∨片免费观看| 亚洲色图在线看| 男插女视频网站| 在线免费高清一区二区三区| 精品一区二区三区日本| 另类专区亚洲| 日韩在线观看免费| 亚洲免费成人在线| 欧美日韩美女在线观看| 91激情视频在线观看| 久久av老司机精品网站导航| 男人j进女人j| 欧美调教在线| 国产精品久久久久久网站| 国内精品久久久久久野外| 日韩欧美黄色影院| 日日噜噜噜噜人人爽亚洲精品| 国产欧美一区二区精品性 | 久久成人久久爱| 久久久国内精品| 亚州综合一区| 成人av在线网址| 24小时免费看片在线观看| 亚洲欧洲一区二区三区在线观看 | 国内偷拍精品视频| 91麻豆国产香蕉久久精品| 国产色视频在线播放| 亚洲欧洲一区| 亚洲欧洲精品一区二区三区波多野1战4| 国产午夜久久av| 欧日韩在线观看| 国内外激情在线| 亚洲色图av在线| 亚洲AV无码一区二区三区性| 在线观看亚洲精品| 国产一级在线观看视频| 欧美国产精品专区| 精品中文字幕在线播放| 精品一区二区免费视频| 国产综合av在线| 国产精品福利在线观看播放| 国内精品**久久毛片app| 亚州精品国产| 国产91在线高潮白浆在线观看| av网站导航在线观看免费| 亚洲一级黄色片| 黄色一级a毛片| 欧美高清dvd| 这里只有精品免费视频| 五月激情六月综合| 一级黄色录像视频| 欧美国产禁国产网站cc| 网站免费在线观看| 国产成人免费视频网站 | 91丨九色丨国产丨porny| 亚洲精品在线网址| 免费美女久久99| 欧美a在线视频| 亚洲黄页一区| 蜜臀精品一区二区| 91精品高清| 在线观看一区二区三区三州| 亚洲婷婷丁香| 精品国产综合| 国产伦乱精品| 99九九视频| 国产免费区一区二区三视频免费| 国产精品h片在线播放| 国产调教在线| 久久久久久久网站| 青草在线视频在线观看| 久久精品福利视频| 在线免费观看黄色av| 亚洲网站在线播放| 成人亚洲综合天堂| 亚洲三级av在线| 国产免费视频在线| 亚洲夜晚福利在线观看| 二区在线观看| 国产一区二区三区欧美| 国内精品在线视频| 亚洲人成网站色ww在线| 男人天堂网在线| 亚洲人成五月天| caoporn国产精品免费视频| 亚洲人成电影在线播放| 国产日产精品久久久久久婷婷| 亚洲乱码一区av黑人高潮| 久草视频在线看| 国产亚洲综合久久| 在线观看黄av| 久久精品久久久久| 亚洲卡一卡二| 国内精品免费午夜毛片| 色偷偷偷在线视频播放| 日本亚洲欧美三级| www.26天天久久天堂| 国产精品一区二区三区久久 | 制服视频三区第一页精品| 国产精品无码白浆高潮| 日韩一区国产二区欧美三区| www精品国产| 日韩国产高清视频在线| 国产中文字幕在线观看| 上原亚衣av一区二区三区| 黄色网页在线看| 久久久久久久久久久91| 伊人久久综合一区二区| 国产区亚洲区欧美区| 欧洲精品99毛片免费高清观看| 国产视频一区二区三区四区| 亚洲精品无吗| 一区二区不卡视频| 欧美日韩第一区| 一女被多男玩喷潮视频| 日欧美一区二区| 国产又黄又猛又粗又爽的视频| 国产乱一区二区| 蜜臀av一区二区三区有限公司| 国产欧美1区2区3区| 国产精品三区在线观看| 午夜精品久久久久影视| 中文字幕一区二区在线视频 | 欧美xxx.com| 久久久av电影| 天堂√中文最新版在线| 91视频国产高清| 欧美亚洲国产日韩| 亚洲欧洲日韩精品| 国产精品久久国产愉拍| 欧美婷婷精品激情| 成年人网站91| 亚洲不卡的av| 黄色精品在线看| 国产人妖一区二区| 国产亚洲欧洲黄色| 蜜臀av国内免费精品久久久夜夜| 日本亚洲欧洲色α| 亚洲国产精品免费视频| 日本一区二区在线| 亚洲小说欧美另类社区| 狠狠操狠狠干视频| 2023国产精品| 国产在线视频你懂的| 欧美日韩五月天| 四虎在线观看| 欧美激情影音先锋| 精品视频一区二区三区| 日本在线观看一区| av成人国产| 性一交一黄一片| 中文字幕一区二区三中文字幕| 日韩精品久久久久久久酒店| 51午夜精品国产| 大乳在线免费观看| 欧美在线一级视频| 国产成人高清精品免费5388| 香蕉视频在线网址| 免费久久99精品国产| 国产特黄级aaaaa片免| 亚洲国产日日夜夜| 国产sm主人调教女m视频| 中文字幕在线看视频国产欧美在线看完整 | www.av91| 国产精品亚洲专一区二区三区| 少妇太紧太爽又黄又硬又爽小说 | 午夜精品久久久久久99热软件| 国产电影一区二区| 伊人色综合影院| 免费在线观看不卡| 波多野结衣一二三四区| 色久优优欧美色久优优| 欧美日本网站| 青青在线视频一区二区三区 | 熟妇熟女乱妇乱女网站| 欧美aaa在线| 精品国产aaa| 欧美无乱码久久久免费午夜一区| 毛片在线播放网站| 日本不卡免费高清视频| 亚洲成在人线免费观看| 欧美日韩二三区| 2欧美一区二区三区在线观看视频| 日韩欧美一区二区一幕| 亚洲国产小视频| 欧美私密网站| 欧美色欧美亚洲另类七区| 久久成人国产| 中文字幕欧美激情极品| 欧美精品久久99| 国产三区视频在线观看| 91精品天堂| 禁久久精品乱码| 37p粉嫩大胆色噜噜噜| 91福利视频网站| 在线播放麻豆| 亚洲综合精品伊人久久| 国产一区久久| 在线观看国产免费视频| 色婷婷国产精品综合在线观看| 国产免费永久在线观看| 国产综合视频在线观看| 重囗味另类老妇506070| 五月天丁香社区| 日韩欧美成人区| av电影在线观看| 高清视频在线观看一区| 午夜在线视频观看日韩17c| www.99热| 日韩欧美激情一区| 亚洲女色av| 在线不卡日本| 成人网男人的天堂| 国产亚洲欧美日韩高清| 久久久电影免费观看完整版| eeuss鲁片一区二区三区| 国产 日韩 亚洲 欧美| 久久久久国产免费免费| 国产又黄又大又爽| 97色在线视频| 99热在线成人| 喷水视频在线观看| 欧美日韩在线亚洲一区蜜芽| 天天干在线视频论坛| 欧美激情第六页| 国产伦精品一区二区三区免费迷 | 免费一级片视频| 亚洲欧美成人网| 精品一区二区三区视频在线播放| 日韩小视频在线播放| 国产精品久久久久久久浪潮网站 | 伊人久久久久久久久久久久| 久久在线观看视频| 亚洲自拍电影| 欧美熟妇精品一区二区| 欧美最猛性xxxxx直播| 黑人另类精品××××性爽| 天堂av一区二区| 99精品黄色片免费大全| 国产毛片毛片毛片毛片毛片|