日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

Redis企業(yè)級部署:哨兵轉移實踐

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

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

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

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

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

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

1. 安裝Redis

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

2. 配置Redis

在哨兵服務器上配置哨兵Redis的配置文件sentinel.conf,配置文件主要包括以下內容:

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

port 26379

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

sentinel monitor

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

sentinel down-after-milliseconds

sentinel flover-timeout

二、哨兵自動轉移的流程

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

1. 斷開連接

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

2. 選舉Leader

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

3. 主服務器選擇

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

三、哨兵轉移實踐

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

#!/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é)點的從屬關系

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

# 等待Redis復制緩沖區(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

# 設置新的主節(jié)點

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

# 等待新的主節(jié)點數(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é)點的從屬關系并確保復制緩沖區(qū)為空,然后將新的主節(jié)點作為新的主節(jié)點并等待新主節(jié)點的數(shù)據(jù)同步完成。

四、總結

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

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


當前文章:Redis企業(yè)級部署哨兵轉移實踐(redis轉移哨兵)
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dhdsjpg.html