新聞中心
在大多數(shù)的Redis集群環(huán)境中,由于部署模式的不同,一臺(tái)主機(jī)宕機(jī)時(shí)可能會(huì)帶來極大的影響。本文從理論和實(shí)踐兩方面,介紹如何應(yīng)對(duì)單臺(tái)主機(jī)宕機(jī)的應(yīng)對(duì)策略。

創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都做手機(jī)網(wǎng)站等網(wǎng)站方面業(yè)務(wù)。
一、從理論上來講,要實(shí)現(xiàn)在單臺(tái)主機(jī)宕機(jī)時(shí)不影響集群的穩(wěn)定運(yùn)行,首先應(yīng)當(dāng)采用好Redis集群分布式部署方案,確?;謴?fù)一臺(tái)宕機(jī)主機(jī)時(shí)不影響讀寫性能。有兩種主流的部署模式,分別是哨兵模式和哨兵結(jié)合主從模式。
哨兵模式:此模式要求至少三臺(tái)主機(jī),其中一臺(tái)用于節(jié)點(diǎn)管理,其他兩臺(tái)用于數(shù)據(jù)讀寫。當(dāng)其中一臺(tái)主機(jī)宕機(jī),哨兵會(huì)通過網(wǎng)絡(luò)通訊機(jī)制檢測(cè)到宕機(jī),并自動(dòng)進(jìn)行重新部署,以便確保Redis集群能夠繼續(xù)正常運(yùn)行。
哨兵結(jié)合主從模式:此模式要求至少三臺(tái)主機(jī),一臺(tái)哨兵用于節(jié)點(diǎn)狀態(tài)管理,一臺(tái)主節(jié)點(diǎn)用于讀寫數(shù)據(jù),另一臺(tái)從節(jié)點(diǎn)可以用于讀取數(shù)據(jù)或同步主節(jié)點(diǎn)數(shù)據(jù),從而當(dāng)其中一臺(tái)主機(jī)宕機(jī)時(shí),可以通過從節(jié)點(diǎn)備份的數(shù)據(jù)快速恢復(fù)其他主機(jī)的數(shù)據(jù),確保Redis集群的正常運(yùn)行。
比較這兩種模式,哨兵模式可以在某臺(tái)主機(jī)宕機(jī)時(shí)快速自動(dòng)恢復(fù),但無法保證數(shù)據(jù)完整;而結(jié)合主從模式可以保證數(shù)據(jù)不丟失,但恢復(fù)時(shí)間較長(zhǎng)。
二、從實(shí)踐上來講,對(duì)于Redis集群?jiǎn)闻_(tái)主機(jī)宕機(jī)的應(yīng)對(duì)策略,建議優(yōu)先采用哨兵結(jié)合主從模式,這樣可以更好的保證數(shù)據(jù)安全。 首先需要在Linux系統(tǒng)上安裝哨兵模式,具體操作如下所示:
#1、創(chuàng)建哨兵配置文件
sudo vi /etc/redis/sentinel.conf
#2、根據(jù)自身情況配置相關(guān)參數(shù),例如:
sentinel monitor mymaster 172.16.100.10 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel parallel-syncs mymaster 1
sentinel flover-timeout mymaster 180000
#3、啟動(dòng)哨兵
redis-server /etc/redis/sentinel.conf --sentinel
此外,可以通過腳本實(shí)現(xiàn)自動(dòng)恢復(fù)主節(jié)點(diǎn),以便在一臺(tái)主機(jī)宕機(jī)時(shí)可以快速恢復(fù)。例如:
#!/bin/bash
#檢測(cè)主節(jié)點(diǎn)是否存活,如果主節(jié)點(diǎn)不存活,則恢復(fù)備份節(jié)點(diǎn)為主節(jié)點(diǎn)
if [`redis-cli -h $HOST -p $PORT ping` != "PONG" ]; then
echo "restore master node"
redis-cli -h $MASTER_HOST -p $MASTER_PORT SLAVEOF $HOST $PORT
fi
為了可以及時(shí)地發(fā)現(xiàn)主機(jī)宕機(jī),應(yīng)當(dāng)建立相關(guān)的報(bào)警機(jī)制,及時(shí)做出響應(yīng),及時(shí)恢復(fù)系統(tǒng)。
Redis集群?jiǎn)闻_(tái)主機(jī)宕機(jī)的應(yīng)對(duì)策略中,采用哨兵結(jié)合主從模式是最佳實(shí)踐,同時(shí)也要采取相應(yīng)的報(bào)警機(jī)制,以便及時(shí)發(fā)現(xiàn)故障,并及時(shí)作出響應(yīng)。
香港服務(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ī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前題目:主機(jī)宕機(jī)Redis集群?jiǎn)闻_(tái)主機(jī)宕機(jī)的應(yīng)對(duì)策略(redis集群?jiǎn)螖?shù)臺(tái))
標(biāo)題路徑:http://m.fisionsoft.com.cn/article/djgjgdp.html


咨詢
建站咨詢
