日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Redis企業(yè)級部署哨兵轉(zhuǎn)移實(shí)踐(redis轉(zhuǎn)移哨兵)

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

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

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

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

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

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

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

1. 安裝Redis

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

2. 配置Redis

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

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

port 26379

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

sentinel monitor

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

sentinel down-after-milliseconds

sentinel flover-timeout

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

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

1. 斷開連接

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

2. 選舉Leader

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

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

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

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

下面給出一個根據(jù)Redis Sentinel的實(shí)現(xiàn)編寫的腳本,該腳本可以自動將Redis主節(jié)點(diǎn)上的數(shù)據(jù)轉(zhuǎn)移到新的Redis主節(jié)點(diǎn),以進(jìn)行故障自動轉(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è)級部署中保障高可用性的重要組件,它能夠在主節(jié)點(diǎn)宕機(jī)后自動實(shí)現(xiàn)節(jié)點(diǎn)轉(zhuǎn)移,提升Redis的可用性。本文從哨兵節(jié)點(diǎn)的安裝與配置,到哨兵自動轉(zhuǎn)移的流程,最后給出了哨兵節(jié)點(diǎn)的自動轉(zhuǎn)移腳本,希望能夠?qū)edis的企業(yè)級部署提供幫助。

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


當(dāng)前文章:Redis企業(yè)級部署哨兵轉(zhuǎn)移實(shí)踐(redis轉(zhuǎn)移哨兵)
網(wǎng)站鏈接:http://m.5511xx.com/article/dhdsjpg.html