redis主從復(fù)制-完整版-創(chuàng)新互聯(lián)

主從復(fù)制簡(jiǎn)介

主從架構(gòu):

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比北林網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式北林網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋北林地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

主從復(fù)制即將master中的數(shù)據(jù)即時(shí)、有效的復(fù)制到slave中

特征:一個(gè)master可以擁有多個(gè)slave,一個(gè)slave只對(duì)應(yīng)一個(gè)master

職責(zé):
master:
? 1、寫數(shù)據(jù)
? 2、執(zhí)行寫操作時(shí),將出現(xiàn)變化的數(shù)據(jù)自動(dòng)同步到slave
? 3、讀數(shù)據(jù)(可忽略)
slave:
? 1、讀數(shù)據(jù)
? 2、寫數(shù)據(jù)(禁止)

主從復(fù)制的作用

1、讀寫分離:master寫、slave讀,提高服務(wù)器的讀寫負(fù)載能力
2、負(fù)載均衡:基于主從結(jié)構(gòu),配合讀寫分離,由slave分擔(dān)master負(fù)載,并根據(jù)需求的變化,改? 變slave的數(shù)量,通過多個(gè)從節(jié)點(diǎn)分擔(dān)數(shù)據(jù)讀取負(fù)載,大大提高Redis服務(wù)器并發(fā)量與數(shù)據(jù)吞吐量
3、故障恢復(fù):當(dāng)master出現(xiàn)問題時(shí),由slave提供服務(wù),實(shí)現(xiàn)快速的故障恢復(fù)
4、數(shù)據(jù)冗余:實(shí)現(xiàn)數(shù)據(jù)熱備份,是持久化之外的一種數(shù)據(jù)冗余方式
5、高可用基石:基于主從復(fù)制,構(gòu)建哨兵模式與集群,實(shí)現(xiàn)Redis的高可用方案

主從復(fù)制工作流程

主從復(fù)制過程大概有3個(gè)階段:

1、建立連接階段(即準(zhǔn)備階段)
2、數(shù)據(jù)同步階段
3、命令傳播階段

階段一:建立連接階段

建立slave到master的連接,使master能夠識(shí)別slave,并保存slave端口號(hào)

slave客戶端發(fā)送命令:slaveof

主從斷開鏈接,slave客戶端發(fā)送命令:slaveof no one,slave斷開連接后,不會(huì)刪除已有數(shù)據(jù),只是不再接受master發(fā)送的數(shù)據(jù)

階段二:數(shù)據(jù)同步階段

數(shù)據(jù)同步階段master說明
1. 如果master數(shù)據(jù)量巨大,數(shù)據(jù)同步階段應(yīng)避開流量高峰期,避免造成master阻塞,影響業(yè)務(wù)正常執(zhí)行
2. 復(fù)制緩沖區(qū)大小設(shè)定不合理,會(huì)導(dǎo)致數(shù)據(jù)溢出。如進(jìn)行全量復(fù)制周期太長(zhǎng),進(jìn)行部分復(fù)制時(shí)發(fā)現(xiàn)數(shù)據(jù)已經(jīng)存在丟失的情況,必須進(jìn)行第二次全量復(fù)制,致使slave陷入死循環(huán)狀態(tài)。

repl-backlog-size 1mb

3. master單機(jī)內(nèi)存占用主機(jī)內(nèi)存的比例不應(yīng)過大,建議使用50%-70%的內(nèi)存,留下30%-50%的內(nèi)存用于執(zhí)行bgsave命令和創(chuàng)建復(fù)制緩沖區(qū)

數(shù)據(jù)同步階段slave說明
1. 為避免slave進(jìn)行全量復(fù)制、部分復(fù)制時(shí)服務(wù)器響應(yīng)阻塞或數(shù)據(jù)不同步,建議關(guān)閉此期間的對(duì)外服務(wù)? ? ?slave-serve-stale-data yes|no

2. 數(shù)據(jù)同步階段,master發(fā)送給slave信息可以理解master是slave的一個(gè)客戶端,主動(dòng)向slave發(fā)送命令
3. 多個(gè)slave同時(shí)對(duì)master請(qǐng)求數(shù)據(jù)同步,master發(fā)送的RDB文件增多,會(huì)對(duì)帶寬造成巨大沖擊,如果master帶寬不足,因此數(shù)據(jù)同步需要根據(jù)業(yè)務(wù)需求,適量錯(cuò)峰
4. slave過多時(shí),建議調(diào)整拓?fù)浣Y(jié)構(gòu),由一主多從結(jié)構(gòu)變?yōu)闃錉罱Y(jié)構(gòu),中間的節(jié)點(diǎn)既是master,也是slave。注意使用樹狀結(jié)構(gòu)時(shí),由于層級(jí)深度,導(dǎo)致深度越高的slave與最頂層master間數(shù)據(jù)同步延遲較大,數(shù)據(jù)一致性變差,應(yīng)謹(jǐn)慎選擇

階段三:命令傳播階段

當(dāng)master數(shù)據(jù)庫(kù)狀態(tài)被修改后,導(dǎo)致主從服務(wù)器數(shù)據(jù)庫(kù)狀態(tài)不一致,此時(shí)需要讓主從數(shù)據(jù)同步到一致的狀態(tài),同步的動(dòng)作稱為命令傳播master將接收到的數(shù)據(jù)變更命令發(fā)送給slave,slave接收命令后執(zhí)行命令

命令傳播階段的部分復(fù)制
命令傳播階段出現(xiàn)了斷網(wǎng)現(xiàn)象
網(wǎng)絡(luò)閃斷閃連? ? ????????忽略
短時(shí)間網(wǎng)絡(luò)中斷? ? ? ? ?部分復(fù)制
長(zhǎng)時(shí)間網(wǎng)絡(luò)中斷? ? ? ? 全量復(fù)制
部分復(fù)制的三個(gè)核心要素
?????服務(wù)器的運(yùn)行 id(run id)
?????主服務(wù)器的復(fù)制積壓緩沖區(qū)
?????主從服務(wù)器的復(fù)制偏移量

服務(wù)器運(yùn)行ID(runid)
概念:服務(wù)器運(yùn)行ID是每一臺(tái)服務(wù)器每次運(yùn)行的身份識(shí)別碼,一臺(tái)服務(wù)器多次運(yùn)行可以生成多個(gè)運(yùn)行id,組成:運(yùn)行id由40位字符組成,是一個(gè)隨機(jī)的十六進(jìn)制字符
例如:fdc9ff13b9bbaab28db42b3d50f852bb5e3fcdce
作用:運(yùn)行id被用于在服務(wù)器間進(jìn)行傳輸,識(shí)別身份,如果想兩次操作均對(duì)同一臺(tái)服務(wù)器進(jìn)行,必須每次操作攜帶對(duì)應(yīng)的運(yùn)行id,用于對(duì)方識(shí)別
實(shí)現(xiàn)方式:運(yùn)行id在每臺(tái)服務(wù)器啟動(dòng)時(shí)自動(dòng)生成的,master在首次連接slave時(shí),會(huì)將自己的運(yùn)行ID發(fā)送給slave,slave保存此ID,通過info Server命令,可以查看節(jié)點(diǎn)的runid

復(fù)制緩沖區(qū),又名復(fù)制積壓緩沖區(qū),是一個(gè)先進(jìn)先出(FIFO)的隊(duì)列,用于存儲(chǔ)服務(wù)器執(zhí)行過的命令,每次傳播命令,master都會(huì)將傳播的命令記錄下來,并存儲(chǔ)在復(fù)制緩沖區(qū),?復(fù)制緩沖區(qū)默認(rèn)數(shù)據(jù)存儲(chǔ)空間大小是1M,由于存儲(chǔ)空間大小是固定的,當(dāng)入隊(duì)元素的數(shù)量大于隊(duì)列長(zhǎng)度時(shí),最先入隊(duì)的元素會(huì)被彈出,而新元素會(huì)被放入隊(duì)列。

每臺(tái)服務(wù)器啟動(dòng)時(shí),如果開啟有AOF或被連接成為master節(jié)點(diǎn),即創(chuàng)建復(fù)制緩沖區(qū)。

用于保存master收到的所有指令(僅影響數(shù)據(jù)變更的指令,例如set,select)。

當(dāng)master接收到主客戶端的指令時(shí),除了將指令執(zhí)行,會(huì)將該指令存儲(chǔ)到緩沖區(qū)中。

復(fù)制偏移量(offset):一個(gè)數(shù)字,描述復(fù)制緩沖區(qū)中的指令字節(jié)位置。

master復(fù)制偏移量:記錄發(fā)送給所有slave的指令字節(jié)對(duì)應(yīng)的位置(多個(gè)),發(fā)送一次記錄一次

slave復(fù)制偏移量:記錄slave接收master發(fā)送過來的指令字節(jié)對(duì)應(yīng)的位置(一個(gè)),接收一次記錄一次

主從復(fù)制常見問題

???????

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前標(biāo)題:redis主從復(fù)制-完整版-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article36/coecpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)軟件開發(fā)、App開發(fā)靜態(tài)網(wǎng)站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站