国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

深度剖析 Redis 主從架構原理

數據庫 Redis
主從架構,事件就是數據可以在多個實例上進行復制,當主節點出現故障時,從節點可以接管服務,從而實現快速故障轉移,保證服務的持續可用性。此外,主從架構還可以提高系統的并發能力,因為多個節點可以同時處理請求。

圖片

Redis 的主從架構,其實就是利用多副本,將一份數據同時保存在多個實例上。單個實例出現故障后,一般都會過一段時間才能恢復,那么其他節點還是可以提供服務的。

1. 為什么需要主從架構

單點架構在Redis中可能會帶來以下問題

  • 單點故障:Redis單點故障會導致服務不可用,造成服務中斷或者服務雪崩。高并發情況下,如果Redis單點出現故障,所有請求都會受到影響,無法得到有效響應。
  • 可用性問題:由于Redis單點架構沒有備份節點,因此無法在發生故障時快速轉移服務以保證系統的持續可用性。這意味著在單點故障發生時,服務可能需要較長時間才能恢復。
  • 數據丟失風險:Redis是內存數據庫,雖然可以通過RDB和AOF文件進行數據持久化備份,但在單點架構中,如果Redis節點發生故障,數據恢復過程可能會耗時較長,且存在數據丟失的風險。

針對這些問題,可以采取主從架構來提高Redis的可用性和容錯性。通過在主節點上設置多個從節點,可以實現數據的復制和故障轉移,從而降低單點故障的影響,提高系統的穩定性和可用性。

2. 主從架構原理

主從架構,事件就是數據可以在多個實例上進行復制當主節點出現故障時,從節點可以接管服務,從而實現快速故障轉移,保證服務的持續可用性。此外,主從架構還可以提高系統的并發能力,因為多個節點可以同時處理請求。這樣,在主節點故障時,從節點可以立即接管服務,避免了單點故障導致的服務中斷或雪崩效應。

3. 主從架構拓撲圖

在Redis中,主從架構的確實是一種主從庫模式,其中主節點負責處理寫操作并將數據同步到從節點,從節點則負責處理讀操作。這種主從庫模式可以根據節點之間的拓撲結構分為以下三種類型:

  • 單主單從結構(Single Master-Single Slave):一個主節點,一個從節點,主節點可讀可寫,從節點只接收讀請求。常用于主節點出現故障時,從節點能夠快速頂上。

圖片圖片

  • 單主多從結構(Single Master-Multiple Slaves):一個主節點,多個從節點,對于讀命令較大的場景,可以把讀命令分攤到多個從節點。

圖片圖片

  • 樹狀主從結構:一個主節點,多個從節點,其中一個從節點作為中間層,既可以復制主節點,又可以當做其他從節點復制的主節點。有效降低主節點負載和需要傳送給從節點的數據量。

圖片圖片

4. 主從數據同步原理

4.1.全量同步

主從第一次建立連接時,會執行全量同步,將master節點的所有數據都拷貝給slave節點,流程:

圖片圖片

思考:master如何得知salve是第一次來連接呢?

有幾個概念,可以作為判斷依據:

  • Replication Id:簡稱replid,是數據集的標記,id一致則說明是同一數據集。每一個master都有唯一的replid,slave則會繼承master節點的replid
  • offset:偏移量,隨著記錄在repl_baklog中的數據增多而逐漸增大。slave完成同步時也會記錄當前同步的offset。如果slave的offset小于master的offset,說明slave數據落后于master,需要更新。

slave數據同步,必須向master聲明自己的replication id 和offset,master才可以判斷到底需要同步哪些數據。

slave原本也是一個master,有自己的replid和offset,當第一次變成slave,與master建立連接時,發送的replid和offset是自己的replid和offset。

master判斷發現slave發送來的replid與自己的不一致,說明這是一個全新的slave,就知道要做全量同步了

master會將自己的replid和offset都發送給這個slave,slave保存這些信息。以后slave的replid就與master一致了。

因此,master判斷一個節點是否是第一次同步的依據,就是看replid是否一致。

圖片圖片

完整流程描述:

  • slave節點請求增量同步
  • master節點判斷replid,發現不一致,拒絕增量同步
  • master將完整內存數據生成RDB,發送RDB到slave
  • slave清空本地數據,加載master的RDB
  • master將RDB期間的命令記錄在repl_baklog,并持續將log中的命令發送給slave
  • slave執行接收到的命令,保持與master之間的同步

4.2.增量同步

全量同步需要先做RDB,然后將RDB文件通過網絡傳輸個slave,成本太高了。因此除了第一次做全量同步,其它大多數時候slave與master都是做增量同步

思考:什么是增量同步?

增量同步是只更新slave與master存在差異的部分數據。

圖片圖片

思考:master怎么知道slave與自己的數據差異在哪里呢?

5.repl_backlog原理

這就要說到全量同步時的repl_baklog文件了。

這個文件是一個固定大小的數組,只不過數組是環形,也就是說角標到達數組末尾后,會再次從0開始讀寫,這樣數組頭部的數據就會被覆蓋。

  • repl_baklog中會記錄Redis處理過的命令日志及offset,包括master當前的offset,和slave已經拷貝到的offset:

圖片圖片

slave與master的offset之間的差異,就是salve需要增量拷貝的數據了。

隨著不斷有數據寫入,master的offset逐漸變大,slave也不斷的拷貝,追趕master的offset:

圖片圖片

直到數組被填滿:

圖片圖片

此時,如果有新的數據寫入,就會覆蓋數組中的舊數據。不過,舊的數據只要是綠色的,說明是已經被同步到slave的數據,即便被覆蓋了也沒什么影響。因為未同步的僅僅是紅色部分。

但是,如果slave出現網絡阻塞,導致master的offset遠遠超過了slave的offset:

圖片圖片

如果master繼續寫入新數據,其offset就會覆蓋舊的數據,直到將slave現在的offset也覆蓋:

圖片圖片

棕色框中的紅色部分,就是尚未同步,但是卻已經被覆蓋的數據。此時如果slave恢復,需要同步,卻發現自己的offset都沒有了,無法完成增量同步了,只能做全量同步。

注意:repl_baklog大小有上限,寫滿后會覆蓋最早數據,如果slave斷開時間過久,導致尚未備份的數據被覆蓋,否則無法基于log做增量同步,只能再次全量同步。

責任編輯:武曉燕 來源: springboot葵花寶典
相關推薦

2025-06-30 02:22:00

2023-04-11 08:00:56

Redis類型編碼

2009-12-07 18:43:29

WCF框架

2010-02-06 15:32:30

Android架構

2025-03-26 11:30:40

2023-04-06 13:15:48

MySQL復制原理應用實踐

2018-12-19 09:00:07

Redis主從架構數據庫

2012-02-08 10:37:42

Java反射

2010-07-12 21:44:51

HART協議

2012-05-11 10:38:15

Cloud Found

2023-09-26 01:07:34

2021-03-11 11:01:22

Redis架構數據

2024-04-12 14:04:17

機器學習DNN

2025-04-16 01:00:00

2021-07-26 11:09:46

Redis分布式技術

2010-03-18 11:16:24

全光交換機

2016-08-24 16:23:36

服務架構

2024-04-29 08:06:19

Redis分布式系統

2024-01-19 12:48:00

Redis存儲數據庫

2024-02-05 19:06:04

DartVMGC流程
點贊
收藏

51CTO技術棧公眾號

日本免费专区| 久久亚洲国产精品| 欧美精品一区在线| 狠狠久久伊人| 精品国产乱码久久久久久久久| xxxx一级片| 久久夜色精品| 国产精品18久久久久久麻辣| 国产第一页在线视频| 午夜精品视频在线观看| 99爱视频在线| 99精品久久只有精品| 成人午夜免费剧场| 国产亚洲在线观看| 粉嫩高清一区二区三区精品视频| 91精品福利观看| 亚洲成人精品av| 成人资源www网在线最新版| 亚洲日本成人在线观看| 欧美日韩中文不卡| 国产亚洲欧美中文| 中文字幕在线综合| 成人精品免费看| 亚洲一区二区三区免费观看| 久久大逼视频| 不卡中文字幕在线| 国产乱色国产精品免费视频| 色中文字幕在线观看| 国产中文字幕精品| 免费特级黄色片| 久久只精品国产| 高清hd写真福利在线播放| 国产精品精品国产色婷婷| 2021av天天| 欧美日韩你懂得| 在线播放的av| 日韩一区二区三区免费观看 | 天堂成人免费av电影一区| 午夜精品一区二区三区四区| 国产精选一区二区三区| 亚洲欧美国产中文| 日韩欧美的一区二区| 成人线上视频| 国产精品无av码在线观看| 亚洲精品小说| a√天堂在线观看| 粉嫩av一区二区三区免费野| 成人欧美在线| 欧美壮男野外gaytube| 在线观看日韩av电影| 69堂免费视频| 欧美性猛交xxxx| 欧美9999| 久久一区免费| 亚洲高清视频中文字幕| аⅴ资源天堂资源库在线| 国产精品69av| 国产传媒一区在线| 视频一区二区三区在线看免费看| 91精品国产一区二区三区蜜臀 | 在线观看不卡| 99爱视频在线观看| 亚洲剧情一区二区| 亚洲高清成人| 最近中文字幕一区二区| 日韩精品一区二区三区在线观看| 欧美激情影院| 国产日产欧美视频| 日韩av一卡二卡| 久久午夜电影| 激情四房婷婷| 国产va免费精品高清在线| 国产91精品精华液一区二区三区| av大片在线播放| 成人网中文字幕| 亚洲国产cao| 精品国内自产拍在线观看视频 | 欧美日韩国产999| 久久电影网站中文字幕| 在线免费观看的av网站| 99国产高清| 欧美高清视频不卡网| 亚洲乱码电影| 国产一级免费在线观看| 久久国产精品高清| 91九色最新地址| 国产精品视区| 操喷在线视频| 欧美这里只有精品| 日韩在线观看网站| 综合久久久久久| 日韩精品欧美| 黄页网站在线| 国产日韩一区二区在线| 97香蕉久久超级碰碰高清版 | 国产成人精品电影久久久| 午夜在线电影亚洲一区| 欧美日韩亚洲一区二区三区在线| 天堂中文资源在线| 国产精品日韩高清| 精品美女久久久久久免费| 四虎电影院在线观看| av在线观看地址| 日韩av电影免费观看| 亚洲最大成人免费视频| 国产精品一区二区三区久久久 | 国产91富婆露脸刺激对白| 久久国产乱子精品免费女| 免费在线欧美黄色| 丝袜亚洲精品中文字幕一区| 久久性色av| 国产一区二区美女| 久久婷婷国产综合国色天香| 国产欧美一级| 久久婷婷亚洲| 美女诱惑一区二区| 日韩avvvv在线播放| 欧美一区视频| 欧美69视频| 国产日韩一区| 久久综合图片| 激情五月婷婷综合| 懂色av一区二区三区蜜臀| 成人永久免费视频| 久久人人97超碰com| 中文字幕亚洲区| 亚洲午夜影视影院在线观看| 在线观看一区不卡| 日韩精品一级中文字幕精品视频免费观看| 日韩精品欧美激情一区二区| 精品久久电影| 激情六月综合| 蜜桃传媒麻豆第一区在线观看| 久久久噜噜噜久久狠狠50岁| 毛片毛片毛片毛片| 97涩在线观看视频| 一级毛片视频| 四虎精品成人影院观看地址| 天堂在线中文字幕| 92国产精品视频| 国产在线一区二区三区播放| 亚洲最大福利视频网站| 成人动漫视频在线观看免费| 99久久无色码| 亚洲国产日韩欧美| 色哟哟免费网站| 天天爽天天爽夜夜爽| 午夜影院免费播放| 亚乱亚乱亚洲乱妇| 亚洲综合av一区二区三区| 麻豆一二三区精品蜜桃| 欧美大片aaaa| 久久精品国产精品亚洲精品| 91免费观看国产| 欧美日韩在线免费| 亚洲成人性视频| 91色综合久久久久婷婷| 亚洲v中文字幕| 日韩精品一区二区三区第95| 97国产精品久久| 欧美一区二区三区四区夜夜大片 | 国产精品久久久久一区二区三区 | 国产精品一卡二卡在线观看| 国产精品网曝门| 91精品国产综合久久精品性色| 久久天天躁日日躁| 另类欧美小说| 午夜免费高清视频| 欧洲成人综合网| 日韩精品久久| 9久草视频在线视频精品| 欧美午夜精品久久久久久久| 久久久国产视频91| 欧美动漫一区二区| 在线中文字幕av| 伊人久久大香| 老司机午夜精品| 日本韩国精品一区二区在线观看| 久久黄色av网站| 伊人狠狠色丁香综合尤物| 日漫免费在线观看网站| 深夜福利一区| 国产成人午夜精品影院观看视频 | 精品久久久久久综合日本| 白虎精品一区| 国产精品色呦| 久久综合色天天久久综合图片| 亚洲精品国产精品自产a区红杏吧| 国产日韩av在线播放| 九色在线91| 一本久久青青| 亚洲一区影音先锋| 国产日韩视频在线观看| 尤物免费看在线视频| 欧美大人香蕉在线| 日韩一区欧美小说| 色天使色偷偷av一区二区| 3d动漫精品啪啪一区二区竹菊| 欧美色videos| 国产色综合一区二区三区|