成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Redis集群管理工具Redis-sentinel原理分析

運(yùn)維 系統(tǒng)運(yùn)維 Redis
Redis作為高性能的key-value存儲(chǔ),一直在單實(shí)例上表現(xiàn)良好,但是長(zhǎng)期以來(lái)一直缺乏一種官方的高可用方案支持。于是Redis-sentinel應(yīng)運(yùn)而生,提供了對(duì)客戶端透明的高可用支持。本文對(duì)Redis-sentinel的原理進(jìn)行了系統(tǒng)的講解。希望對(duì)大家有幫助。

Redis-sentinel是Redis實(shí)例的監(jiān)控管理、通知和實(shí)例失效備援服務(wù),是Redis集群的管理工具。在一般的分布式中心節(jié)點(diǎn)數(shù)據(jù)庫(kù)中,Redis-sentinel的作用是中心節(jié)點(diǎn)的工作,監(jiān)控各個(gè)其他節(jié)點(diǎn)的工作情況并且進(jìn)行故障恢復(fù),來(lái)提高集群的高可用性。

Redis-sentinel是Redis的作者antirez在今年6月份完成的,因?yàn)镽edis實(shí)例在各個(gè)大公司的應(yīng)用,每個(gè)公司都需要一個(gè)Redis集群的管理工具,被迫都自己寫管理工具來(lái)管理Redis集群,antirez考慮到社區(qū)的急迫需要,花了幾個(gè)星期寫出了Redis-sentinel。

Redis-sentinel的三大功能:監(jiān)測(cè)、通知、自動(dòng)故障恢復(fù)。首先Redis-sentinel要建立一個(gè)監(jiān)控的master列表,然后針對(duì)master列表的每個(gè)master獲取監(jiān)控其的sentinels和slaves供以后故障恢復(fù)使用。

自動(dòng)發(fā)現(xiàn)sentinel和slave

一個(gè)sentinel實(shí)例的監(jiān)控master在配置文件中指定,如sentinel A在配置文件中指定管理的master ip:port列表,并且指定連接失敗超時(shí)的時(shí)間和是否可以故障恢復(fù)等參數(shù)。這樣,sentinel A就建立了監(jiān)控的master列表。

sentinel A作為客戶端建立對(duì)其監(jiān)控master 1的pub/sub連接和命令傳輸連接,pub/sub連接的目的是通過(guò)消息傳遞來(lái)獲取監(jiān)控master 1的所有sentinels,具體方式是訂閱”sentinel:hello”頻道,并這個(gè)頻道publish 自己的host信息,這樣,所有監(jiān)控master 1的sentinels都通過(guò)訂閱master 1的“sentinel:hello”頻道來(lái)獲取其他sentinels的信息。sentinel A就建立了master 1的sentinels列表。 sentinel A還通過(guò)間斷的info命令獲取master 1的slaves列表,如果連接超時(shí)或者失敗,就會(huì)進(jìn)入故障處理的例程。

故障恢復(fù)準(zhǔn)備

Redis-sentinel定義了故障的master兩種狀態(tài),O_DOWN(objectively)和S_DOWN(subobjectively)。當(dāng)sentinel A連接master 1失敗后,sentinel A認(rèn)定master 1為subobjectively狀態(tài),然后sentinel A查看監(jiān)控master 1的sentinels的認(rèn)定情況。因?yàn)閟entinel之間會(huì)建立連接并且不斷的發(fā)起info命令詢問(wèn)和回應(yīng),因此在sentinel A認(rèn)定master 1 S_DOWN后,sentinel A通過(guò)SENTINEL IS-MASTER-DOWN-BY-ADDR命令來(lái)不斷獲得其他sentinel的認(rèn)定情況,如果有超過(guò)quorum(配置中指定)個(gè)sentinel認(rèn)定master 1已經(jīng)DOWN,那么就確定master 1為O_DOWN。然后sentinel A必須有master 1的can failover權(quán)限,這也是配置文件指定的。接著,sentinel A需要得知master 1的leader sentinel,由leader來(lái)進(jìn)行master 1的錯(cuò)誤恢復(fù)。

master 1的leader sentinel由選舉產(chǎn)生,每個(gè)監(jiān)控master 1的,并且具有錯(cuò)誤恢復(fù)權(quán)限的sentinel都需要進(jìn)行一次叫做subjective leader判斷,也就是sentinel自己認(rèn)定的leader,然后sentinel之間通過(guò)SENTINEL IS-MASTER-DOWN-BY-ADDR命令交流leader的認(rèn)定情況,然后最終得到一個(gè)共識(shí)。

然后由這個(gè)master 1的leader sentinel來(lái)啟動(dòng)錯(cuò)誤恢復(fù)例程。

故障處理

sentinel A作為master 1的leader,會(huì)選取一個(gè)master 1的slave作為新的master。slave的選取是根據(jù)一個(gè)判斷DNS情況的優(yōu)先級(jí)來(lái)得到,優(yōu)先級(jí)相同通過(guò)runid的排序得到,但目前優(yōu)先級(jí)設(shè)定還沒(méi)實(shí)現(xiàn),所以直接獲取runid排序得到slave 1。

然后發(fā)送命令slaveof no one來(lái)取消slave 1的slave狀態(tài)來(lái)轉(zhuǎn)換為master。當(dāng)其他sentinel觀察到該slave成為master后,就知道錯(cuò)誤處理例程啟動(dòng)了。sentinel A然后發(fā)送給其他slave slaveof new-slave-ip-port 命令,當(dāng)所有slave都配置完后,sentinel A從監(jiān)測(cè)的masters列表中刪除故障master,然后通知其他sentinels。

總結(jié)

Redis-sentinel作為一個(gè)集群管理工具,基本滿足了要求。但是Redis集群的需求卻仍然存在。Redis集群作為分區(qū)結(jié)果,分區(qū)的配置仍然需要客戶端或者代理協(xié)議實(shí)現(xiàn),Redis集群作為一個(gè)整體還需要更長(zhǎng)的路。Redis-cluster的草案早于出爐,但是實(shí)現(xiàn)卻已經(jīng)停留了很久。antriez承諾在Redis 3.0推出Redis-cluster功能。

責(zé)任編輯:黃丹 來(lái)源: wzxue.com
相關(guān)推薦

2015-12-29 10:24:19

管理工具集群管理

2011-08-12 10:38:09

MongoDB

2025-01-13 08:30:00

開源Redis可視化

2023-06-10 23:09:40

Redis場(chǎng)景內(nèi)存

2020-10-30 11:18:47

網(wǎng)絡(luò)技術(shù)工具

2020-09-30 14:05:22

網(wǎng)絡(luò)管理

2009-04-24 21:13:45

服務(wù)器虛擬化Vmware

2012-12-06 11:31:40

虛擬化

2012-04-09 09:43:49

云計(jì)算云管理

2021-04-01 08:50:54

SentinelRedis 集群原理

2024-04-17 13:14:46

2020-04-29 09:42:51

Linux 服務(wù)器 工具

2023-10-30 14:49:43

2014-03-28 11:15:42

phpmyadminMySQL管理

2012-03-01 10:04:02

虛擬化云計(jì)算混合云

2022-05-06 12:04:24

Ansible管理工具

2013-07-15 15:00:26

項(xiàng)目管理工具

2021-03-04 12:55:01

systemd進(jìn)程管理工具Linux

2013-07-17 09:54:17

2023-03-07 14:21:57

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日本三级电影在线看 | 一级黄色夫妻生活 | 国产蜜臀 | av在线播放网址 | 日韩在线免费视频 | 亚洲国产精品日韩av不卡在线 | 三a毛片| 欧美一区精品 | 亚洲午夜精品视频 | 成年人在线视频 | 亚洲一区国产精品 | av网址在线播放 | 羞羞的视频在线观看 | 欧美一区二区三区在线视频 | 欧美日韩在线电影 | 国产精品一区二区av | 在线看片福利 | 色成人免费网站 | 成人激情视频免费在线观看 | jav成人av免费播放 | 在线看片福利 | av在线免费观看网站 | 一区二区高清在线观看 | 亚洲人成一区二区三区性色 | 精品一区二区三区免费毛片 | 国产激情三区 | 男女网站免费观看 | 欧美一级艳情片免费观看 | 精品一级 | 天天操网 | 国产亚洲一区二区三区在线观看 | 久久久夜夜夜 | 成人亚洲性情网站www在线观看 | 一区二区三区电影网 | 久久51 | 欧美日韩亚洲一区二区 | 免费1区2区3区 | 亚洲 成人 在线 | 久久久国产精品入口麻豆 | 中文字幕成人av | 一区二区在线免费播放 |