精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文深入Redis主從復制的原理詳解,權威又科學

數據庫 其他數據庫 Redis
本文主要分析了 Redis 的復制原理,包括復制過程,數據之間的同步,全量復制的流程,部分復制的流程,心跳設計,異步復制流程。

[[375049]]

 文章目錄:

1、復制過程

2、數據間的同步

3、全量復制

4、部分復制

5、心跳

6、異步復制

復制原理

1.復制過程

復制的過程步驟如下:

1、從節點執行 slaveof 命令

2、從節點只是保存了 slaveof 命令中主節點的信息,并沒有立即發起復制

3、從節點內部的定時任務發現有主節點的信息,開始使用 socket 連接主節點

4、連接建立成功后,發送 ping 命令,希望得到 pong 命令響應,否則會進行重連

5、如果主節點設置了權限,那么就需要進行權限驗證;如果驗證失敗,復制終止。

6、權限驗證通過后,進行數據同步,這是耗時最長的操作,主節點將把所有的數據全部發送給從節點。

7、當主節點把當前的數據同步給從節點后,便完成了復制的建立流程。接下來,主節點就會持續的把寫命令發送給從節點,保證主從數據一致性。

2.數據間的同步

上面說的復制過程,其中有一個步驟是“同步數據集”,這個就是現在講的‘數據間的同步’。

redis 同步有 2 個命令:

sync 和 psync,前者是 redis 2.8 之前的同步命令,后者是 redis 2.8 為了優化 sync 新設計的命令。我們會重點關注 2.8 的 psync 命令。

psync 命令需要 3 個組件支持:

1、主從節點各自復制偏移量

2、主節點復制積壓緩沖區

3、主節點運行 ID

主從節點各自復制偏移量:

1、參與復制的主從節點都會維護自身的復制偏移量。

2、主節點在處理完寫入命令后,會把命令的字節長度做累加記錄,統計信息在 info replication 中的 masterreploffset 指標中。

3、從節點每秒鐘上報自身的的復制偏移量給主節點,因此主節點也會保存從節點的復制偏移量。

4、從節點在接收到主節點發送的命令后,也會累加自身的偏移量,統計信息在 info replication 中。

5、通過對比主從節點的復制偏移量,可以判斷主從節點數據是否一致。

主節點復制積壓緩沖區:

1、復制積壓緩沖區是一個保存在主節點的一個固定長度的先進先出的隊列。默認大小 1MB。

2、這個隊列在 slave 連接是創建。這時主節點響應寫命令時,不但會把命令發送給從節點,也會寫入復制緩沖區。

3、他的作用就是用于部分復制和復制命令丟失的數據補救。通過 info replication 可以看到相關信息。

主節點運行 ID:

1、每個 redis 啟動的時候,都會生成一個 40 位的運行 ID。

2、運行 ID 的主要作用是用來識別 Redis 節點。如果使用 ip+port 的方式,那么如果主節點重啟修改了 RDB/AOF 數據,從節點再基于偏移量進行復制將是不安全的。所以,當運行 id 變化后,從節點將進行全量復制。也就是說,redis 重啟后,默認從節點會進行全量復制。

如果在重啟時不改變運行 ID 呢?

1、可以通過 debug reload 命令重新加載 RDB 并保持運行 ID 不變。從而有效的避免不必要的全量復制。

2、他的缺點則是:debug reload 命令會阻塞當前 Redis 節點主線程,因此對于大數據量的主節點或者無法容忍阻塞的節點,需要謹慎使用。一般通過故障轉移機制可以解決這個問題。

psync 命令的使用方式:

命令格式為 psync{runId}{offset}

runId:從節點所復制主節點的運行 id

offset:當前從節點已復制的數據偏移量

psync 執行流程:

流程說明:從節點發送 psync 命令給主節點,runId 就是目標主節點的 ID,如果沒有默認為 -1,offset 是從節點保存的復制偏移量,如果是第一次復制則為 -1.

主節點會根據 runid 和 offset 決定返回結果:

1、如果回復 +FULLRESYNC {runId} {offset} ,那么從節點將觸發全量復制流程。

2、如果回復 +CONTINUE,從節點將觸發部分復制。

3、如果回復 +ERR,說明主節點不支持 2.8 的 psync 命令,將使用 sync 執行全量復制。

到這里,數據之間的同步就講的差不多了,篇幅還是比較長的。主要是針對 psync 命令相關之間的介紹。

3.全量復制

全量復制是 Redis 最早支持的復制方式,也是主從第一次建立復制時必須經歷的的階段。觸發全量復制的命令是 sync 和 psync。之前說過,這兩個命令的分水嶺版本是 2.8,redis 2.8 之前使用 sync 只能執行全量不同,2.8 之后同時支持全量同步和部分同步。

流程如下:

介紹一下上圖步驟:

1、發送 psync 命令(spync ?-1)

2、主節點根據命令返回 FULLRESYNC

3、從節點記錄主節點 ID 和 offset

4、主節點 bgsave 并保存 RDB 到本地

5、主節點發送 RBD 文件到從節點

6、從節點收到 RDB 文件并加載到內存中

7、主節點在從節點接受數據的期間,將新數據保存到“復制客戶端緩沖區”,當從節點加載 RDB 完畢,再發送過去。(如果從節點花費時間過長,將導致緩沖區溢出,最后全量同步失敗)

8、從節點清空數據后加載 RDB 文件,如果 RDB 文件很大,這一步操作仍然耗時,如果此時客戶端訪問,將導致數據不一致,可以使用配置slave-server-stale-data 關閉.

9、從節點成功加載完 RBD 后,如果開啟了 AOF,會立刻做 bgrewriteaof。

以上加粗的部分是整個全量同步耗時的地方。

注意:

1、如過 RDB 文件大于 6GB,并且是千兆網卡,Redis 的默認超時機制(60 秒),會導致全量復制失敗。可以通過調大 repl-timeout 參數來解決此問題。

2、Redis 雖然支持無盤復制,即直接通過網絡發送給從節點,但功能不是很完善,生產環境慎用。

4.部分復制

當從節點正在復制主節點時,如果出現網絡閃斷和其他異常,從節點會讓主節點補發丟失的命令數據,主節點只需要將復制緩沖區的數據發送到從節點就能夠保證數據的一致性,相比較全量復制,成本小很多。

步驟如下:

1、當從節點出現網絡中斷,超過了 repl-timeout 時間,主節點就會中斷復制連接。

2、主節點會將請求的數據寫入到“復制積壓緩沖區”,默認 1MB。

3、當從節點恢復,重新連接上主節點,從節點會將 offset 和主節點 id 發送到主節點

4、主節點校驗后,如果偏移量的數后的數據在緩沖區中,就發送 cuntinue 響應 —— 表示可以進行部分復制

5、主節點將緩沖區的數據發送到從節點,保證主從復制進行正常狀態。

5.心跳

主從節點在建立復制后,他們之間維護著長連接并彼此發送心跳命令。

心跳的關鍵機制如下:

1、中從都有心跳檢測機制,各自模擬成對方的客戶端進行通信,通過 client list 命令查看復制相關客戶端信息,主節點的連接狀態為 flags = M,從節點的連接狀態是 flags = S。

2、主節點默認每隔 10 秒對從節點發送 ping 命令,可修改配置 repl-ping-slave-period 控制發送頻率。

3、從節點在主線程每隔一秒發送 replconf ack{offset} 命令,給主節點上報自身當前的復制偏移量。

4、主節點收到 replconf 信息后,判斷從節點超時時間,如果超過 repl-timeout 60 秒,則判斷節點下線。

注意:為了降低主從延遲,一般把 redis 主從節點部署在相同的機房/同城機房,避免網絡延遲帶來的網絡分區造成的心跳中斷等情況。

6.異步復制

主節點不但負責數據讀寫,還負責把寫命令同步給從節點,寫命令的發送過程是異步完成,也就是說主節點處理完寫命令后立即返回客戶度,并不等待從節點復制完成。

異步復制的步驟很簡單,如下:

1、主節點接受處理命令

2、主節點處理完后返回響應結果

3、對于修改命令,異步發送給從節點,從節點在主線程中執行復制的命令。

總結

本文主要分析了 Redis 的復制原理,包括復制過程,數據之間的同步,全量復制的流程,部分復制的流程,心跳設計,異步復制流程。

其中,可以看出,RDB 數據之間的同步非常耗時。所以,Redis 在 2.8 版本退出了類似增量復制的 psync 命令,當 Redis 主從直接發生了網絡中斷,不會進行全量復制,而是將數據放到緩沖區(默認 1MB)里,在通過主從之間各自維護復制 offset 來判斷緩存區的數據是否溢出,如果沒有溢出,只需要發送緩沖區數據即可,成本很小,反之,則要進行全量復制,因此,控制緩沖區大小非常的重要。

引用

《Redis 開發與運維》

好了,關于redis 主從復制的原理就介紹到這里 ,篇幅有限,難免疏漏。 

 

責任編輯:龐桂玉 來源: ITPUB
相關推薦

2023-02-27 07:33:14

MySQL數據庫服務器

2024-07-04 08:00:24

2021-01-12 09:03:17

MySQL復制半同步

2019-11-28 09:33:08

Redis架構互聯網

2020-09-04 06:35:28

Redis復制哨兵

2023-12-25 08:02:09

2023-09-24 14:32:15

2018-07-06 09:58:38

Redis高可用主從復制

2021-06-08 07:48:27

MySQL主從配置

2024-03-01 18:33:59

MySQL節點數據

2017-09-05 16:00:49

MySQL主從復制備份

2025-01-15 15:47:36

2020-04-14 16:26:22

MySQL線程同步

2019-11-20 10:07:07

Redis數據系統

2023-03-15 08:30:37

2023-03-19 11:53:27

2023-03-19 22:38:12

邏輯復制PostgreSQL

2025-02-28 00:00:00

2020-09-27 11:55:20

FTPFTPSSFTP

2023-04-06 13:15:48

MySQL復制原理應用實踐
點贊
收藏

51CTO技術棧公眾號

波多野结衣加勒比| 国产精品 日韩| 国产精品美女高潮无套| 九九久久国产| 亚洲蜜桃精久久久久久久| 亚洲a成v人在线观看| 好吊操这里只有精品| 欧美三级伦理在线| 精品精品国产高清一毛片一天堂| 久久美女福利视频| av黄色在线| 国产日韩av一区| 成人激情直播| 亚洲一区 中文字幕| 国自产拍偷拍福利精品免费一| 亚洲精品一区在线观看香蕉 | 一区二区三区导航| 精品久久国产精品| 黄色短视频在线观看| 国产激情精品一区二区三区| 狠狠躁夜夜躁人人爽天天天天97| 日本三级福利片| 久久电影视频| 成人精品一区二区三区四区 | 99亚洲男女激情在线观看| 婷婷激情综合网| 7777在线视频| 超碰国产在线| 久久综合狠狠综合久久综合88| 亚洲专区中文字幕| 做爰视频毛片视频| 国产精品毛片| 98精品在线视频| 免看一级a毛片一片成人不卡| 第四色成人网| 国产亚洲精品美女| 制服丝袜第二页| 久久男人av| 日韩欧美一区二区不卡| 一区二区三区视频网| 伊人久久精品一区二区三区| 亚洲成人av一区二区| 在线观看污视频| 欧美69xxx| 中文字幕久久午夜不卡| 日韩av一级大片| 日韩一区av| av一区二区不卡| 日韩三级视频中文字幕| 一区二区xxx| 国产一区二区主播在线| 91久久香蕉国产日韩欧美9色| 久久综合九色综合88i| 久久不射影院| 亚洲图片自拍偷拍| 精品国偷自产一区二区三区| 欧美一卡二卡| 一二三四社区欧美黄| 91.com在线| 成年人在线网站| 国产三级久久久| 蜜桃久久精品乱码一区二区 | 伊人一区二区三区久久精品| 一区二区黄色片| 国产剧情一区| 最新国产精品亚洲| 东方av正在进入| 国模吧视频一区| 91精品国产91久久久久久不卡| 日韩乱码一区二区| 欧美亚洲一区二区三区| 国产精品av在线播放| 懂色av蜜臀av粉嫩av喷吹 | 亚洲国产综合av| 日本精品在线观看| 亚洲成人三级在线| 国精品无码人妻一区二区三区| 全国精品免费看| 亚洲天堂免费在线| 视频这里只有精品| 日韩视频一区二区三区在线播放免费观看 | 国产日韩欧美电影在线观看| 国产日韩欧美一区二区东京热| 国产精品自产自拍| 国产一区二区免费电影| 国产人成在线观看| 亚洲日本在线看| 国产欧美日韩网站| 91精品国产66| 日韩你懂的电影在线观看| 这里只有精品在线观看视频| 国产一区国产二区国产三区| 日韩在线播放av| 国产精品成人久久| 美腿丝袜在线亚洲一区| 成人激情av| 91这里只有精品| 亚洲综合一区二区三区| www.欧美日本| 伊人久久综合网另类网站| 亚洲成人中文字幕| 久久视频一区二区三区| 国产精品av久久久久久麻豆网| 欧亚精品中文字幕| 国产麻豆视频在线观看| 黄色亚洲在线| 国产日本欧美在线观看 | 国产在线视频不卡二| 国产欧美韩日| 久热国产在线| 色婷婷亚洲精品| 一区二区三区四区影院| 青青草国产成人a∨下载安卓| 欧美精品videos| 又色又爽又黄无遮挡的免费视频| 成人av电影免费在线播放| 在线观看日韩羞羞视频| 涩涩涩视频在线观看| 日韩一区二区视频| 男女全黄做爰文章| 性欧美长视频| 国产一区二区三区黄| av中文字幕在线播放| 欧美亚洲禁片免费| 国产精品边吃奶边做爽| 亚洲国产日本| 51精品国产人成在线观看| 北岛玲一区二区三区| 精品久久久国产精品999| 韩国av中国字幕| 永久亚洲成a人片777777| 国产精品美女免费视频| 色综合久久网女同蕾丝边| 一区二区三区.www| 日本黄色www| 天天射综合网视频| 国产精品自产拍在线观| 国产永久av在线| 色一情一乱一乱一91av| 精品国产人妻一区二区三区| 欧美色123| 成人免费视频网站入口| 在线中文字幕视频观看| 欧美一区在线视频| 日韩精品一区二区三区在线视频| 偷偷www综合久久久久久久| 日韩av免费在线观看| 欧美色18zzzzxxxxx| 精品日韩中文字幕| 成人精品在线观看视频| 99国产精品自拍| 久久精品美女| 在线免费三级电影网站| 亚洲欧美精品一区| 波多野结衣毛片| 国产女同互慰高潮91漫画| 日韩av一二三四| 精品一区二区三区在线| 国产精品国产三级国产专播精品人| 日本国产在线| 一本色道a无线码一区v| 国产黄色大片免费看| 日韩黄色一级片| 亚洲精品欧洲精品| 香蕉成人在线| 欧美成人午夜影院| 黑人乱码一区二区三区av| 亚洲成人精品在线观看| 第四色在线视频| 丝袜脚交一区二区| 午夜精品电影在线观看| 电影一区中文字幕| 久久久久久成人| 神马精品久久| 欧美日韩在线免费视频| 青草草在线视频| www.欧美色图| 欧美日韩在线成人| 国产精品久久天天影视| 成人在线视频电影| 韩国成人漫画| 久久精品国产欧美激情| 黄色成人一级片| 在线观看日韩av先锋影音电影院| 91免费在线看片| 成人国产电影网| 青青青在线视频免费观看| 51精产品一区一区三区| 欧洲中文字幕国产精品| gogogo高清在线观看免费完整版| 欧美肥胖老妇做爰| 久久久午夜影院| 国产精品美女一区二区在线观看| 男人操女人下面视频| 亚洲免费激情| 一区二区三区一级片| 好吊妞国产欧美日韩免费观看网站 | 992在线观看| 成人一区二区三区中文字幕| 国产福利一区视频| 欧美三级特黄| 亚洲区一区二区三区| www.成人网| 国产日产久久高清欧美一区| 里番在线播放| 日韩视频免费在线观看| 午夜小视频免费| 91精品国产综合久久精品app| 欧美特黄aaaaaa| 北条麻妃国产九九精品视频| 538任你躁在线精品免费| 国产尤物精品| 中文一区一区三区免费| 亚洲黄页在线观看| www久久99| 亚洲精品成人一区| 国产成人高潮免费观看精品| 欧美大片黄色| 色综合影院在线| 久热av在线| 亚洲精品videossex少妇| 99久久婷婷国产一区二区三区| 色综合久久中文综合久久97| 精品一区免费观看| 亚洲欧美视频在线观看视频| a资源在线观看| 91欧美一区二区| 男男一级淫片免费播放| 国产一区二区不卡老阿姨| www.色就是色| 久久久精品性| 国产精品亚洲a| 亚洲永久免费精品| 日日碰狠狠添天天爽超碰97| 欧美涩涩视频| 日本天堂免费a| 91九色精品| 中文字幕欧美日韩一区二区| 欧美精品一区二区三区中文字幕| 欧美激情第一页在线观看| 狼人天天伊人久久| 精品在线不卡| 亚洲毛片免费看| 久久亚洲午夜电影| 免费看av成人| 亚洲精品第一区二区三区| 欧美日韩精品一区二区视频| 日韩福利视频| 日韩在线第七页| 国产精品美女在线播放| 亚洲国产精品91| 红桃一区二区三区| 欧美激情精品久久久六区热门| 水蜜桃在线免费观看| 欧美精品综合| 亚洲一区二区三区av无码| 亚洲天堂成人| 日韩免费视频播放| 久久久夜精品| www.com黄色片| 国产一区二区调教| 中国特级黄色片| av电影在线观看一区| 日本黄色特级片| 亚洲国产精品黑人久久久| a一级免费视频| 亚洲一区在线观看免费观看电影高清 | 日本三级免费网站| 日韩精彩视频在线观看| 日本不卡一区在线| 国产成人av资源| 国产亚洲色婷婷久久99精品91| 久久久精品免费免费| 国产在视频线精品视频| 亚洲专区一二三| 日本中文字幕久久| 欧美精品日韩一本| 人成网站在线观看| 国产亚洲精品久久久| 成人日韩欧美| 欧美在线亚洲在线| 95精品视频| 精品国产一区二区三区四区vr| 伊人久久大香线蕉无限次| 亚洲一区二区三区加勒比| 欧美精品国产一区二区| 国产性xxxx18免费观看视频| 麻豆91精品视频| 亚洲一区二区三区四区av| 国产午夜精品一区二区三区嫩草| 国产真实乱在线更新| 午夜激情久久久| 在线亚洲欧美日韩| 亚洲国产欧美在线成人app| 在线观看完整版免费| 国内精品久久久久影院优| 精品乱码一区二区三区四区| 国产精品久久久对白| 日韩国产一区二区| 欧美三级在线观看视频| 九九精品视频在线看| 免费看黄色aaaaaa 片| 亚洲视频你懂的| 亚洲欧美另类在线视频| 日韩免费观看高清完整版在线观看| 精华区一区二区三区| 欧美成人激情在线| 性高爱久久久久久久久| 97在线电影| 色一区二区三区四区| 国产日韩一区二区在线| 国产伦精品一区二区三区在线观看| 91视频免费观看网站| 亚洲精品五月天| 真实新婚偷拍xxxxx| 日韩激情视频在线播放| 国产一线二线在线观看| 91精品国产综合久久香蕉922 | 国产偷国产偷亚洲清高网站| 在线不卡日本v二区707| 国产美女直播视频一区| 蜜桃tv一区二区三区| 婷婷五月综合缴情在线视频| 韩国视频一区二区| 欧美日韩国产黄色| 色综合婷婷久久| 色视频在线观看| 午夜精品视频网站| 欧美高清一级片| 在线播放 亚洲| 免费一级片91| 蜜桃无码一区二区三区| 欧美天堂在线观看| 天堂在线资源8| 久久久免费高清电视剧观看| 国产一区二区三区免费观看在线| 亚洲美女搞黄| 免费看欧美女人艹b| 91导航在线观看| 欧美综合视频在线观看| 久久免费看视频| 日韩av快播网址| 国产欧美日韩视频在线| 日本成人中文字幕在线| 国产欧美在线观看一区| 亚洲精品国产精品乱码视色| 亚洲一区www| 素人啪啪色综合| 亚洲国产欧美不卡在线观看| 蜜臀91精品一区二区三区| 美国美女黄色片| 欧美日韩一区二区三区四区五区| 999国产在线视频| 亚洲a在线观看| 欧美天堂亚洲电影院在线观看| 免费黄色在线播放| 亚洲超碰97人人做人人爱| 亚洲人成色777777精品音频| 欧美一级片久久久久久久| 久久av网址| 中文字幕中文在线| 亚洲精品videosex极品| 色香蕉在线视频| 日本久久精品视频| 欧美日韩精品在线一区| 男生操女生视频在线观看| 亚洲精品视频一区| 色噜噜一区二区三区| 青草青草久热精品视频在线观看| 精品国产一区二区三区久久久樱花| 久久久国产欧美| 日韩理论片中文av| 欧美 日韩 国产 成人 在线 91| 91禁外国网站| 成人中文视频| 在线中文字日产幕| 色综合欧美在线| 国产激情在线| 国产一区自拍视频| 热久久国产精品| 欧美日韩在线观看成人| 日韩精品视频免费专区在线播放| 美女网站视频一区| 最近免费观看高清韩国日本大全| 高清在线观看日韩| 亚洲成人第一网站| 欧美成人精品在线观看| 网友自拍区视频精品| 亚洲精品综合在线观看| 五月婷婷综合网| 婷婷在线视频| 精品视频免费观看| 激情综合网av| 久久精品视频1| 久久成人综合视频| 要久久爱电视剧全集完整观看| 欧美一级视频在线| 日韩欧美国产黄色| 四虎影院观看视频在线观看| 欧美日韩高清免费|