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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Redis實(shí)現(xiàn)輕松倒換(redis設(shè)置倒換)

Redis實(shí)現(xiàn)輕松倒換

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、長寧網(wǎng)站維護(hù)、網(wǎng)站推廣。

Redis是一個(gè)高性能的鍵值存儲(chǔ)數(shù)據(jù)庫,其特點(diǎn)是支持持久化、數(shù)據(jù)結(jié)構(gòu)豐富、支持?jǐn)?shù)據(jù)分片等。但在實(shí)際應(yīng)用中,我們經(jīng)常需要在不影響服務(wù)的情況下對Redis進(jìn)行升級(jí)或者維護(hù),這時(shí)候就需要實(shí)現(xiàn)Redis的輕松倒換。

Redis實(shí)現(xiàn)輕松倒換的關(guān)鍵在于Redis的主從架構(gòu)和sentinel監(jiān)控系統(tǒng)。

主從架構(gòu)是指在Redis中,一個(gè)主節(jié)點(diǎn)可以有多個(gè)從節(jié)點(diǎn),主節(jié)點(diǎn)可以讀寫數(shù)據(jù),從節(jié)點(diǎn)只能被動(dòng)的同步主節(jié)點(diǎn)的數(shù)據(jù)。當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),從節(jié)點(diǎn)中的一個(gè)會(huì)被選舉為新的主節(jié)點(diǎn),保證系統(tǒng)的高可用性。

而sentinel監(jiān)控系統(tǒng)則是一種自動(dòng)化監(jiān)控、分析Redis集群的系統(tǒng)。它可以監(jiān)控Redis集群中各個(gè)節(jié)點(diǎn)的運(yùn)行情況,并在節(jié)點(diǎn)故障時(shí),自動(dòng)將從節(jié)點(diǎn)切換為主節(jié)點(diǎn),從而保證系統(tǒng)的連續(xù)性。

下面我們通過實(shí)際代碼實(shí)現(xiàn)Redis的輕松倒換。

1.部署Redis主從架構(gòu)

首先我們需要部署Redis的主從架構(gòu),在一臺(tái)服務(wù)器上安裝Redis服務(wù),并設(shè)置為主節(jié)點(diǎn),同時(shí)在另外一臺(tái)服務(wù)器上也安裝Redis服務(wù),并將其設(shè)置為從節(jié)點(diǎn)。在從節(jié)點(diǎn)上進(jìn)行如下操作,在配置文件中添加以下信息:

slaveof  

其中,“和“為主節(jié)點(diǎn)的IP地址和端口號(hào)。

這時(shí)候我們就實(shí)現(xiàn)了Redis的主從架構(gòu),主節(jié)點(diǎn)可以讀寫數(shù)據(jù),從節(jié)點(diǎn)可以同步主節(jié)點(diǎn)的數(shù)據(jù),并在主節(jié)點(diǎn)宕機(jī)時(shí)自動(dòng)切換為主節(jié)點(diǎn)。

2.部署sentinel監(jiān)控系統(tǒng)

接下來我們需要安裝sentinel監(jiān)控系統(tǒng),首先在主節(jié)點(diǎn)和從節(jié)點(diǎn)上安裝sentinel,然后在每臺(tái)服務(wù)器的配置文件中添加以下信息:

sentinel monitor    

其中,“為主節(jié)點(diǎn)的名稱,“為主節(jié)點(diǎn)的IP地址,“為主節(jié)點(diǎn)的端口號(hào),“為最少需要幾臺(tái)sentinel認(rèn)為主節(jié)點(diǎn)失效。

這時(shí)候我們可以運(yùn)行sentinel服務(wù),并通過查看sentinel的日志文件,查看sentinel的運(yùn)行狀態(tài):

26083:X 11 Jun 2021 18:20:35.240 # Sentinel ID is 4b4b38f919628e20c416f6a21a431a798b9d1f2a
26083:X 11 Jun 2021 18:20:35.241 # +monitor master mymaster 127.0.0.1 6379 quorum 2
26083:X 11 Jun 2021 18:20:36.241 # +sdown master mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.241 # +odown master mymaster 127.0.0.1 6379 #quorum 2/2
26083:X 11 Jun 2021 18:20:36.241 # +new-epoch 1
26083:X 11 Jun 2021 18:20:36.241 # +vote-for-leader 4b4b38f919628e20c416f6a21a431a798b9d1f2a 1
26083:X 11 Jun 2021 18:20:36.241 # +log-entry 1,1@0000000000000000000000000000000000000000
26083:X 11 Jun 2021 18:20:36.242 # +try-sentinel master mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.242 # +sentinel sentinel 4b4b38f919628e20c416f6a21a431a798b9d1f2a 127.0.0.1 26080 @ mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.242 # +sentinel sentinel 9be9d10f7ede52e95a23f7b712d54516eed35d8e 127.0.0.1 26082 @ mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.242 # +sentinel sentinel 943fe076b150dc2fd9ddc98b70a349b90eb11c4c 127.0.0.1 26081 @ mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.242 # +elected-leader master mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.243 # +flover-state-select-slave master mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.252 # -flover-abort-no-good-slave master mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.435 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6380
26083:X 11 Jun 2021 18:20:36.435 # +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379
26083:X 11 Jun 2021 18:20:36.435 # +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379

我們可以看到,在主節(jié)點(diǎn)掛掉時(shí),sentinel自動(dòng)將從節(jié)點(diǎn)切換為主節(jié)點(diǎn),并實(shí)現(xiàn)了Redis的輕松倒換。

3.Redis集群維護(hù)

在實(shí)際應(yīng)用中,我們可能需要對Redis集群進(jìn)行維護(hù)或者升級(jí),這時(shí)候我們就需要實(shí)現(xiàn)Redis節(jié)點(diǎn)的輕松倒換。

下面是一段Python腳本代碼,用于實(shí)現(xiàn)Redis節(jié)點(diǎn)的輕松倒換。

“`python

#!/usr/bin/env python

import redis

import time

# 主機(jī)1

host1 = redis.Redis(host=’localhost’, port=6379)

# 主機(jī)2

host2 = redis.Redis(host=’localhost’, port=6380)

# 如果主機(jī)1不可用,切換為主機(jī)2

def flover():

master_host = host1 if host1.info()[‘role’] == ‘master’ else host2

slave_host = host2 if host1.info()[‘role’] == ‘master’ else host1

while True:

try:

time.sleep(1)

# 查看主機(jī)1是否可用

master_host.ping()

except:

print(‘主機(jī)1不可用’)

# 將主機(jī)2切換為主節(jié)點(diǎn)

slave_host.execute_command(‘slaveof no one’)

slave_host.info()

break

flover()


這段代碼會(huì)檢查Redis的主節(jié)點(diǎn)是否可用,如果發(fā)現(xiàn)主節(jié)點(diǎn)不可用,就會(huì)將從節(jié)點(diǎn)切換為主節(jié)點(diǎn),從而實(shí)現(xiàn)Redis節(jié)點(diǎn)的輕松倒換。

通過以上步驟,我們就可以實(shí)現(xiàn)Redis的輕松倒換,保證Redis集群系統(tǒng)的高可用性,提高整體穩(wěn)定性和可靠性。

香港服務(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àn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


本文名稱:Redis實(shí)現(xiàn)輕松倒換(redis設(shè)置倒換)
新聞來源:http://m.5511xx.com/article/coddihh.html