精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产91免费看| 日韩欧美亚洲另类制服综合在线| 国产视频精品久久久| 亚洲日本精品| 五月婷婷中文字幕| 一区二区三区四区精品视频| 日本麻豆一区二区三区视频| 亚洲白拍色综合图区| 色综合久久av| 日本视频在线观看免费| 精品综合久久88少妇激情| 亚洲欧美另类小说视频| 国产精品欧美日韩| 免费看黄色的视频| 日韩伦理精品| 9色porny自拍视频一区二区| 欧美大片在线免费观看| 天堂网成人在线| 动漫一区在线| 香蕉精品视频在线观看| 欧美在线观看视频在线| 日本成人黄色| 中文字幕观看视频| 久久性感美女视频| 欧美日韩成人在线| 色中文字幕在线观看| 伊人成年综合网| 精品一区av| 欧美日韩视频在线一区二区| 日本电影一区二区三区| www.欧美国产| 亚洲精品麻豆| 亚洲欧美国产精品久久久久久久 | 全球成人中文在线| aaaaaav| 人狥杂交一区欧美二区| 亚洲天堂免费在线观看视频| 91精品视频免费| 久久艹精品视频| 欧美绝顶高潮抽搐喷水合集| 狠狠操狠狠色综合网| 欧美欧美一区二区| 一区二区视频网| 老司机精品视频网站| 一区二区三区视频免费在线观看| 亚洲黄色av网址| 超碰在线观看免费版| 中文字幕免费不卡| 亚洲最大的网站| 啦啦啦免费高清视频在线观看| 免费电影一区二区三区| 欧美人妖巨大在线| 亚洲 欧美 另类人妖| 一二区成人影院电影网| 中文字幕佐山爱一区二区免费| 97人人香蕉| 国产高潮在线观看| 久久精品麻豆| 色综合天天狠天天透天天伊人| 日本黄色片免费观看| 玖玖玖免费嫩草在线影院一区| 日韩欧美在线影院| 韩国一区二区av| caopo在线| 亚洲激情在线播放| 手机成人在线| 日本三级在线播放完整版| 成人av在线看| 91网站在线看| 精品人妻无码一区二区三区蜜桃一| 国产一区在线精品| 秋霞av国产精品一区| 老熟妇一区二区三区| 一区久久精品| 久热爱精品视频线路一| 久久精品—区二区三区舞蹈| 色综合综合色| 日韩小视频在线观看| 欧美无人区码suv| 国产一区2区在线观看| 色综合久久久久综合体| 日韩在线视频在线| 在线观看完整版免费| 99精品欧美一区二区三区小说 | 亚洲激情免费视频| 你懂的在线免费观看| 粉嫩av一区二区三区在线播放| 国产精品日韩在线一区| 99热这里只有精品在线观看| 成人精品国产免费网站| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 欧美日韩久久一区| 国产精品成人99一区无码| 国产精品一区二区美女视频免费看| 日韩免费视频一区二区| 波多野结衣 在线| swag国产精品一区二区| 91精品国产综合久久精品麻豆| 天天干在线影院| 欧美成人免费电影| 欧美日韩亚洲系列| 自拍偷拍21p| av成人在线观看| 色欧美88888久久久久久影院| 欧美日韩福利在线| 羞羞污视频在线观看| 自拍视频在线观看一区二区| xxxx18hd亚洲hd捆绑| 国模私拍视频在线播放| 亚洲男人的天堂一区二区| 成人中文字幕在线播放| 韩国精品一区| 黑人巨大精品欧美一区二区三区| www.久久91| 亚洲宅男一区| 国产亚洲精品久久久久动| 中国女人特级毛片| 精品日本12videosex| 久久久久久久久久久亚洲| 国产无码精品一区二区| 亚洲美女少妇无套啪啪呻吟| 午夜精品一区二区三区在线播放| 国产午夜精品一区二区理论影院| 蜜桃视频免费观看一区| 成人啪啪免费看| 国产福利视频导航| 国产精品视频yy9299一区| 亚洲精品日韩在线观看| 五月香视频在线观看| 欧美日韩视频免费播放| 亚洲成人福利视频| 西瓜成人精品人成网站| 夜夜躁日日躁狠狠久久88av| 日韩男人的天堂| 久热国产精品| 久久免费一区| 欧美性猛交xxx乱大交3蜜桃| 一区二区三区在线视频免费| 一道本在线免费视频| 精品成av人一区二区三区| 欧美中文字幕精品| 亚洲人在线观看视频| 国产精品―色哟哟| 黄色免费网址大全| 国产精品亚洲片在线播放| 久久精品视频在线| 日韩xxxxxxxxx| 日韩成人一级大片| 91在线精品观看| bt在线麻豆视频| 欧美一区二区三区电影| 老熟妇高潮一区二区三区| 精品一区二区在线播放| 国产亚洲欧美另类一区二区三区| 日本黄在线观看| 亚洲日本电影在线| 国产性生活一级片| 亚洲男人都懂第一日本| 欧美一性一乱一交一视频| 亚洲性在线观看| av一本久道久久综合久久鬼色| 国产成人永久免费视频| 黄色精品视频| 亚洲第一精品自拍| 亚洲av无一区二区三区| 一区二区三区精品视频在线观看 | 国产精品-色哟哟| 成人免费黄色大片| 亚洲啪啪av| 99re8精品视频在线观看| 日韩精品免费在线视频| 国产va在线播放| 欧美aⅴ一区二区三区视频| 亚洲激情啪啪| 久久9999免费视频| 中文字幕综合一区| 国产一级免费视频| 日本一区二区高清| 在线播放黄色av| 亚洲国产精品第一区二区三区| 久久综合毛片| 国产拍在线视频| 亚洲欧美国产精品va在线观看| 中文字幕在线观看高清| 亚洲精品va在线观看| 韩国无码一区二区三区精品| 三级一区在线视频先锋| 在线视频一二三区| 精品176极品一区| 亚洲深夜福利视频| 欧美啪啪小视频| 国产精品国模大尺度视频| wwwxxx黄色片| 欧美美女黄色| 国产欧美一区二区三区久久人妖| 看电影就来5566av视频在线播放| 欧美人与性动xxxx| 久久免费激情视频| 亚洲欧美日韩小说| 受虐m奴xxx在线观看| 国产一区二区影院| 久草资源站在线观看| 欧美理论电影在线精品| 91精品国产综合久久香蕉最新版 | 国产麻豆xxxvideo实拍| 免费在线观看视频一区| 欧美人成在线观看| 999久久久免费精品国产| 久久99精品久久久久子伦| www 久久久| 国产精品成人va在线观看| 精品电影在线| 在线观看亚洲精品视频| 免费在线观看a视频| 粉嫩久久99精品久久久久久夜 | 日韩欧美精品电影| 久久久亚洲影院| 内射后入在线观看一区| 一区二区高清视频在线观看| 中文字幕第九页| 日韩午夜精品| 91麻豆天美传媒在线| 欧美日韩高清| 蜜桃成人在线| 精品久久ai| 国产成人精品免费视频大全最热 | 国产xxxxhd| 久久精品久久精品| 国产精品久久久影院| 精品欧美久久| 日韩免费电影一区二区| 男人亚洲天堂| 国产精品91视频| 国产福利在线播放麻豆| 国产一区二区黑人欧美xxxx| 手机av免费在线观看| 91久久精品国产91性色tv| 日本一级淫片免费放| 一区二区三区成人| 成年人av电影| 亚洲黄色小视频| 久草视频免费在线| 一区二区三区丝袜| 深夜福利影院在线观看| 一区二区三区四区在线| 91人妻一区二区三区蜜臀| 中文字幕亚洲视频| 亚洲视频重口味| 99精品偷自拍| 国产又粗又长又爽| 99久久伊人久久99| 一本色道久久综合亚洲精品图片| 麻豆成人久久精品二区三区小说| 欧美日韩在线免费播放| 欧美激情日韩| 日韩在线三级| 日韩精品一卡| 久久99久久精品国产| 色婷婷综合久久久久久| 欧美日韩在线精品一区二区三区| 蜜桃a∨噜噜一区二区三区| 欧美日韩国产精品一卡| 国产精品手机在线播放 | 都市激情一区| 日韩精品专区在线影院重磅| www黄色在线观看| 亚洲国产精品va在看黑人| 头脑特工队2免费完整版在线观看 头脑特工队2在线播放 | 亚洲精品小视频| 成黄免费在线| 日韩激情av在线免费观看| 青青草在线播放| 最近2019好看的中文字幕免费| 手机av在线免费观看| 日韩高清不卡av| 在线激情网站| 国内久久久精品| 666av成人影院在线观看| 成人激情春色网| 国产在线播放精品| 97超碰人人模人人爽人人看| 爱爱精品视频| 日韩精品大片| 欧美国产专区| 毛葺葺老太做受视频| 国产麻豆精品视频| 色噜噜狠狠一区二区| 国产久卡久卡久卡久卡视频精品| japanese在线观看| 国产精品日日摸夜夜摸av| 久草中文在线视频| 91成人免费在线视频| 国产ts人妖调教重口男| 精品夜色国产国偷在线| 成人在线免费看片| 欧美在线欧美在线| 欧美成年网站| 婷婷精品国产一区二区三区日韩 | 欧美国产欧美综合| 国产小视频在线看| 亚洲精品高清在线| 九九热最新视频| 在线观看欧美精品| 亚洲成人一二三区| 日韩欧美另类在线| 久久久资源网| 欧美国产精品日韩| 成人黄色免费网站| 久久资源亚洲| 在线欧美视频| 中文字幕第三区| 国产精品美女一区二区三区| 精品在线播放视频| 欧美一区二区女人| 91电影在线播放| 国产成人精品一区二区| 琪琪久久久久日韩精品| 国产激情片在线观看| 免费观看久久久4p| 91视频免费观看网站| 亚洲成人在线网站| 国产高潮久久久| 欧美xxxx在线观看| 午夜在线视频免费| 欧美黑人国产人伦爽爽爽| 日韩毛片免费看| 99视频在线播放| 神马午夜久久| 国产精品久久久久9999爆乳| 韩国三级在线一区| 久久久久国产免费| 亚洲欧美日韩电影| 6—12呦国产精品| 精品成人一区二区三区四区| 国产原创在线观看| 97超视频免费观看| www.26天天久久天堂| 欧美凹凸一区二区三区视频| 亚洲乱码视频| 一级特级黄色片| 午夜精品视频一区| 中文字幕视频免费观看| 亚洲午夜精品久久久久久久久久久久| 男人av在线播放| 久久99精品久久久久久水蜜桃| 一本久道久久久| 青青草成人免费视频| 欧美日韩亚洲一区二| 日本福利在线观看| 国产精品久久久久久一区二区 | 久久综合伊人77777尤物| 亚洲人成777| 男同互操gay射视频在线看| 国产一区中文字幕| 久久综合综合久久| 亚洲精品久久在线| 日韩免费电影| 一区二区三区四区在线视频| 狠狠综合久久av一区二区老牛| 国产精品亚洲αv天堂无码| 久久亚洲一区二区三区明星换脸| 日本一二三区在线观看| 这里只有精品99re| 人成在线免费视频| 国产精品欧美日韩| 亚洲中无吗在线| 黑人粗进入欧美aaaaa| 国产精品丝袜在线| 国产三级漂亮女教师| 亚洲视频在线免费看| 99久久亚洲国产日韩美女| 熟女视频一区二区三区| 成人一区二区在线观看| 性无码专区无码| 日韩中文理论片| 99热这里只有精品首页| 久草在在线视频| 亚洲欧洲制服丝袜| 无码国精品一区二区免费蜜桃| 国产精品久久久久久久久影视 | 9久久9毛片又大又硬又粗| 久久91精品国产91久久小草| 青青草手机在线观看| 日韩成人av一区| 日韩午夜电影免费看| 国产www免费| 国产精品系列在线| 丰满人妻一区二区三区四区53| 欧美综合激情网| 午夜精品毛片| 37p粉嫩大胆色噜噜噜| 91精品国产欧美一区二区| 三妻四妾完整版在线观看电视剧 | 91性高湖久久久久久久久_久久99| 在线看片欧美| 亚洲一区 欧美| 欧美在线视频全部完| 亚洲综合图区| 亚洲一区二区三区视频| 亚洲精品成人无限看|