亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

主從復(fù)制概念

主從復(fù)制指將一臺redis的數(shù)據(jù)復(fù)制另外一臺redis服務(wù)器上,前者稱為主節(jié)點(master),后者稱為從節(jié)點(slave)。

注意復(fù)制的過程是單向的,只能從主節(jié)點到從節(jié)點,主節(jié)點以寫為主,從節(jié)點以讀為主。

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

主從復(fù)制的作用

數(shù)據(jù)冗余:主從復(fù)制實現(xiàn)了數(shù)據(jù)的熱備份

故障恢復(fù):當主節(jié)點出現(xiàn)問題時,可以由從節(jié)點提供服務(wù),快速恢復(fù)故障

負載均衡:主節(jié)點復(fù)制寫數(shù)據(jù),從節(jié)點負責讀數(shù)據(jù),實現(xiàn)讀寫分離分擔服務(wù)器負載。

 

最常見的主從復(fù)制架構(gòu)如下圖所示

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

手動實現(xiàn)主從復(fù)制

 

開啟三個redis服務(wù),例如開啟三個端口分別為6379、6380、6381三臺redis服務(wù),未設(shè)置誰是主節(jié)點之前,默認每臺服務(wù)都是主節(jié)點的,

info replication #查看節(jié)點信息

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

這里為了演示所以配置了偽集群,即一臺機器啟動三個redis服務(wù),只是不同端口。注意啟動6380和6381需要增加一個redis配置文件,例如啟動6380時復(fù)制一份redis.conf修改名字為redis6380.conf,然后修改配置文件中的以下幾個地方。

daemonize yes #后臺啟動修改為yes

pidfile /var/run/redis_6380.pid #修改進程文件的名稱

logfile "6380.log" #日志文件的名稱

dbfilename dump6380.rdb #rdb文件的名稱

port 6380 #端口號

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

使用命令查看啟動好的redis

ps -ef|grep redis

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

正式配置一主二從

因為redis啟動默認是主節(jié)點,所以主需要將6380和6379的設(shè)置為6379的從節(jié)點就行了,設(shè)置redis6380的主節(jié)點為6379,使用slaveof [主節(jié)點IP] [主節(jié)點端口]

slaveof 127.0.0.1 6379

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

使用同樣的方式設(shè)置6381,最后回到主節(jié)點6379進行查看節(jié)點信息

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

至此我們就把一主二從的架構(gòu)的配置好了,下面測試一下,主機寫入數(shù)據(jù)后,會不會將數(shù)據(jù)自動同步到從機中。

主機設(shè)置一個key為test1

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

從機進行獲取test1

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

進過測試,沒問題,大功告成!

你以為這就完了么,有的同學會問,當主機掛了會怎么樣,這個問題問的好。這種手動模式的一主二從架構(gòu),當主機掛了之后需要人為的手動重新設(shè)置一個主機,才能正常工作。說到這里,是不是會覺得這也太low了吧,講這個有啥用,其實講這個是為了讓你清楚主從復(fù)制真正的工作原理。那么為了解決這個當主機掛了,需要手動重新設(shè)置一個主節(jié)點的問題,就需要使用我們的哨兵模式。

什么是哨兵

顧名思義,哨兵就是用來巡邏檢查的,哨兵每隔一段時間會向redis發(fā)送命令,等待redis響應(yīng),如果得不到響應(yīng),此時這個哨兵會認為這臺redis服務(wù)以掛掉。一般情況會啟動多個哨兵,判斷redis主機是否掛掉,哨兵會進行投票。例如啟動三個哨兵,其中有兩個哨兵認為當前redis主機以掛掉,一個認為沒有,那么2:1,那可以認為當前redis掛掉了。當主節(jié)點掛掉后,哨兵會通過投票的方式重新選舉一個主機。

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

哨兵的作用

通過發(fā)送命令,讓redis服務(wù)器返回運行狀態(tài),包括主服務(wù)器和從服務(wù)器。

當哨兵檢測到master宕機后,會通過投票選舉新的master,然后通過發(fā)布訂閱模式通知其它從機切換主機。

 

配置哨兵

在/opt/redis-6.0.7/myconf目錄下添加哨兵配置文件 sentinel.conf內(nèi)容如下

sentinel monitor myredis 127.0.0.1 6379 1

 

意思監(jiān)控master,后面的1表示當master掛了后是否發(fā)起投票。

 

開啟一個終端,進入redis目錄

啟動哨兵:./src/redis-sentinel myconf/sentinel.conf

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

下面測試如果master宕機了,會不會重新選舉一個新的master。

現(xiàn)在手動把master關(guān)掉,等待幾秒鐘可以看到master主機變成了6380

Redis精華所在,一口氣說完Redis的主從復(fù)制和哨兵模式

 

如果此時原來的主機恢復(fù)正常了呢,會不會重新這是其為master,答案是否定的,原來的主機恢復(fù)正常后,只能作為新主機的從節(jié)點。

 

好了,寫了這么多終于把redis的注冊復(fù)制寫完了!

分享到:
標簽:Redis
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定