詳解Redis主從復(fù)制(自動同步到備機的master/slaver機制)

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

概念:

主從復(fù)制就是主機數(shù)據(jù)更新后,根據(jù)配置和策略,自動同步到備機的master/slaver機制,Master以寫為主,Slave以讀為主。

配置:

(1)“一主二仆”策略

準備三臺redis服務(wù)器:主服務(wù)器A,從服務(wù)器B1、從服務(wù)器B2。服務(wù)器B1、B2同步A數(shù)據(jù),A1負責寫操作,B1、B2負責讀操作。

A服務(wù)器IP:168.7.5.74,端口6379

B1服務(wù)器IP:168.7.5.75,端口6379

B2服務(wù)器IP:168.7.5.76,端口6379

  • 使用命令

  在服務(wù)器B1、B2上分別執(zhí)行如下命令,成為A服務(wù)器的從庫:

slaveof 168.7.5.74?6379

  使用命令可查看當前庫role、master_host、manter_port、connected_slaves相關(guān)配置信息:

 info replication

  注意:

a、當主庫宕機后,從庫仍是slave角色,仍負責接受讀操作;

b、當主庫恢復(fù)服務(wù)后,從庫B1、B2繼續(xù)同步主庫A的數(shù)據(jù),服務(wù)照舊;

c、當從庫與master斷開連接后,如果使用的是命令配置,需要重新使用命令才能連接到主庫;

d、當從庫連接master后,master會先一次性將當前數(shù)據(jù)全量同步到salve上,后續(xù)增量同步。

從庫復(fù)制原理:

Slave 啟動成功后連接到 master 后,將發(fā)送一條sync命令,master接收到命令后,在后臺啟動存盤進程,同時收集所有接收到的用于修改數(shù)據(jù)集的命令,在后臺進程執(zhí)行完畢后,master將傳送整個數(shù)據(jù)文件到slave,以完成一次全量同步。只要重新連接master,將自動執(zhí)行一次全量復(fù)制(完全同步)。

  • 使用配置文件

  ??在需要成為從庫的redis配置文件中添加配置"replicaof 10.7.5.74 6379"即可。與命令配置不同的是,從庫重啟服務(wù)后將自動同步主庫,無需額外操作。

? ? ? ? ?

(2)“薪火相傳”策略

  準備三臺redis服務(wù)器:服務(wù)器A,服務(wù)器B、服務(wù)器C。將服務(wù)器B設(shè)置為服務(wù)器A的從庫,將服務(wù)器C設(shè)置為服務(wù)器B的從庫:masterA <-- slaverB <-- slaverC。

A服務(wù)器IP:168.7.5.74,端口6379

B服務(wù)器IP:168.7.5.75,端口6379

C服務(wù)器IP:168.7.5.76,端口6379

執(zhí)行如下命令進行該策略配置:

在服務(wù)器B上執(zhí)行:slaveof 168.7.5.74?6379

在服務(wù)器C上執(zhí)行:slaveof 168.7.5.75 6379

  注意:

    a、服務(wù)器A的角色為 master,服務(wù)器B和C的角色為 slaver;

b、當主庫A宕機后,在從庫B上執(zhí)行命令?slaverof no one?將從庫B角色變?yōu)?salve ,從庫C無需操作,將繼續(xù)使用同步B;

c、當A重啟服務(wù)器后,與BC庫組成的體系毫無關(guān)系,需重新執(zhí)行命令加入;

d、salverof no one :是當前數(shù)據(jù)庫停止與其他數(shù)據(jù)庫的同步,并轉(zhuǎn)換為主數(shù)據(jù)庫。

優(yōu)點:去除“一主二仆”策略的中心化,減輕master庫寫的壓力。

缺點:從庫存在備份延遲

(3)哨兵模式

  原理:在后臺自動監(jiān)控主機是否故障,如果故障了,根據(jù)投票自動將從庫轉(zhuǎn)為主庫。

  ?配置:

  ?a、創(chuàng)建哨兵模式配置文件。在redis.conf目錄下創(chuàng)建文件?sentinel.conf?(名稱固定),內(nèi)容如下:

sentinel monitor hostname 127.0.0.1 6379 1??

hostname 127.0.0.1 6379?:分別是被監(jiān)控主機的主機名、IP及端口號

1指定策略:主機宕機后,slave投票決定誰接替主機

b、啟動哨兵模式

    ?redis-sentinel /usr/redis/sentinel.conf

  注意:

    a、若當前master宕機后,服務(wù)將在從庫中選出新的master;

b、若舊master重啟后,它將自動成為新的master的slave;

c、一個哨兵(sentinel)可以監(jiān)控多個master。

 

應(yīng)用:

讀寫分離、容災(zāi)備份

主從復(fù)制的缺點:

復(fù)制的延遲,寫操作都在master上,然后同步到slave上,所以會有一定的延遲,同時slave機器數(shù)量的增加也會使延遲問題更加嚴重。

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責聲明,若由于商用引起版權(quán)糾紛,一切責任均由使用者承擔。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責聲明》全部內(nèi)容的認可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學習和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 詳解Redis主從復(fù)制(自動同步到備機的master/slaver機制)

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護;網(wǎng)站開發(fā)修改及維護; 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情