av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Redis企業(yè)級(jí)部署哨兵轉(zhuǎn)移實(shí)踐(redis轉(zhuǎn)移哨兵)

Redis企業(yè)級(jí)部署:哨兵轉(zhuǎn)移實(shí)踐

創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、行業(yè)門(mén)戶(hù)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專(zhuān)業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類(lèi)型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹(shù)立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)千余家。

Redis作為一款高性能的非關(guān)系型數(shù)據(jù)庫(kù),已經(jīng)在企業(yè)級(jí)應(yīng)用中得到廣泛應(yīng)用。但是,在Redis集群中,單節(jié)點(diǎn)故障可能會(huì)導(dǎo)致整個(gè)集群不可用,這是一種不可避免的風(fēng)險(xiǎn)。為了保障Redis的高可用性,我們需要使用哨兵來(lái)進(jìn)行故障自動(dòng)轉(zhuǎn)移。

本文將介紹Redis企業(yè)級(jí)部署中哨兵轉(zhuǎn)移的相關(guān)實(shí)踐,包括哨兵節(jié)點(diǎn)的安裝、配置與故障自動(dòng)轉(zhuǎn)移的流程。

一、哨兵節(jié)點(diǎn)的安裝與配置

在Redis集群中,哨兵節(jié)點(diǎn)扮演著監(jiān)控節(jié)點(diǎn)健康狀態(tài)的角色,當(dāng)其中一個(gè)節(jié)點(diǎn)故障時(shí),哨兵會(huì)進(jìn)行自動(dòng)轉(zhuǎn)移操作,選舉一個(gè)新的節(jié)點(diǎn)作為主節(jié)點(diǎn)繼續(xù)提供服務(wù)。

我們需要在Redis集群中為每個(gè)主節(jié)點(diǎn)配置一個(gè)哨兵。哨兵節(jié)點(diǎn)的安裝和配置很簡(jiǎn)單,我們只需要在集群中選擇一臺(tái)服務(wù)器作為哨兵,然后進(jìn)行如下操作:

1. 安裝Redis

在哨兵節(jié)點(diǎn)服務(wù)器上安裝Redis,可以通過(guò)官方網(wǎng)站獲取最新版本的Redis源碼包,完成編譯和安裝。

2. 配置Redis

在哨兵服務(wù)器上配置哨兵Redis的配置文件sentinel.conf,配置文件主要包括以下內(nèi)容:

# 哨兵節(jié)點(diǎn)端口號(hào)

port 26379

# 監(jiān)控的主節(jié)點(diǎn)IP地址

sentinel monitor

# 選舉一個(gè)新的主節(jié)點(diǎn)且最少有2個(gè)哨兵支持才能選舉

sentinel down-after-milliseconds

sentinel flover-timeout

二、哨兵自動(dòng)轉(zhuǎn)移的流程

在Redis集群中,當(dāng)主節(jié)點(diǎn)故障,哨兵節(jié)點(diǎn)會(huì)自動(dòng)進(jìn)行主節(jié)點(diǎn)的轉(zhuǎn)移。該轉(zhuǎn)移過(guò)程分為三個(gè)階段:斷開(kāi)連接、選舉Leader和主服務(wù)器選擇。

1. 斷開(kāi)連接

當(dāng)哨兵檢測(cè)到主節(jié)點(diǎn)故障時(shí),它將主節(jié)點(diǎn)標(biāo)記為‘down’,并嘗試連接到所有剩余的主節(jié)點(diǎn)。如果在連接過(guò)程中發(fā)現(xiàn)有主節(jié)點(diǎn)在規(guī)定時(shí)間內(nèi)沒(méi)有響應(yīng),則它的狀態(tài)將被標(biāo)記為“SDOWN”。

2. 選舉Leader

當(dāng)主節(jié)點(diǎn)被標(biāo)記為“SDOWN”后,哨兵開(kāi)始選舉一個(gè)新的leader節(jié)點(diǎn)。它將從監(jiān)視主節(jié)點(diǎn)的所有哨兵節(jié)點(diǎn)中選擇一個(gè)具有最高優(yōu)先級(jí)的哨兵節(jié)點(diǎn)作為leader。如果有多個(gè)哨兵具有相同的最高優(yōu)先級(jí),則按照結(jié)點(diǎn)名稱(chēng)的字典序選舉,選出的leader哨兵節(jié)點(diǎn)將負(fù)責(zé)進(jìn)行下一步操作。

3. 主服務(wù)器選擇

選舉出新的leader后,leader將與剩余的哨兵節(jié)點(diǎn)一起重新選擇新的主節(jié)點(diǎn)。這項(xiàng)任務(wù)將從具有最高優(yōu)先級(jí)的從節(jié)點(diǎn)中進(jìn)行。如果在此時(shí)沒(méi)有可以成為主節(jié)點(diǎn)的從節(jié)點(diǎn),哨兵就會(huì)嘗試將”master”標(biāo)記為“odown”,并發(fā)送新的狀態(tài)轉(zhuǎn)移請(qǐng)求。此時(shí),所有的哨兵都將參與到新的狀態(tài)轉(zhuǎn)移中,以選舉新的主節(jié)點(diǎn)。

三、哨兵轉(zhuǎn)移實(shí)踐

下面給出一個(gè)根據(jù)Redis Sentinel的實(shí)現(xiàn)編寫(xiě)的腳本,該腳本可以自動(dòng)將Redis主節(jié)點(diǎn)上的數(shù)據(jù)轉(zhuǎn)移到新的Redis主節(jié)點(diǎn),以進(jìn)行故障自動(dòng)轉(zhuǎn)移操作。

#!/usr/bin/env bash

SENTINEL_IP=$1

OLD_MASTER_IP=$2

OLD_MASTER_PORT=$3

NEW_MASTER_IP=$4

NEW_MASTER_PORT=$5

if [ $# -lt 5 ]; then

echo “Usage: $0 “

exit

fi

# 發(fā)送“SLAVE OF NO ONE”命令,停止舊主節(jié)點(diǎn)的從屬關(guān)系

redis-cli -h $OLD_MASTER_IP -p $OLD_MASTER_PORT SLAVEOF NO ONE

# 等待Redis復(fù)制緩沖區(qū)為空

while [ true ]; do

lag=$(redis-cli -h $OLD_MASTER_IP -p $OLD_MASTER_PORT INFO replication | grep “master_repl_offset:” | awk -F’:’ ‘{print $2}’)

if [ “$lag” = “0” ]; then

break

fi

sleep 1

done

# 設(shè)置新的主節(jié)點(diǎn)

redis-cli -h $SENTINEL_IP -p 26379 SENTINEL FLOVER $NEW_MASTER_IP:$NEW_MASTER_PORT

# 等待新的主節(jié)點(diǎn)數(shù)據(jù)同步完成

while [ true ]; do

if $(redis-cli -h $NEW_MASTER_IP -p $NEW_MASTER_PORT PING); then

break

fi

sleep 1

done

echo “SUCCESS: Sentinal flover complete!”

以上腳本將停止舊主節(jié)點(diǎn)的從屬關(guān)系并確保復(fù)制緩沖區(qū)為空,然后將新的主節(jié)點(diǎn)作為新的主節(jié)點(diǎn)并等待新主節(jié)點(diǎn)的數(shù)據(jù)同步完成。

四、總結(jié)

哨兵是Redis企業(yè)級(jí)部署中保障高可用性的重要組件,它能夠在主節(jié)點(diǎn)宕機(jī)后自動(dòng)實(shí)現(xiàn)節(jié)點(diǎn)轉(zhuǎn)移,提升Redis的可用性。本文從哨兵節(jié)點(diǎn)的安裝與配置,到哨兵自動(dòng)轉(zhuǎn)移的流程,最后給出了哨兵節(jié)點(diǎn)的自動(dòng)轉(zhuǎn)移腳本,希望能夠?qū)edis的企業(yè)級(jí)部署提供幫助。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


文章標(biāo)題:Redis企業(yè)級(jí)部署哨兵轉(zhuǎn)移實(shí)踐(redis轉(zhuǎn)移哨兵)
分享URL:http://uogjgqi.cn/article/dhdsjpg.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流