婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Redis主從集群切換數據丟失的解決方案

Redis主從集群切換數據丟失的解決方案

熱門標簽:日本中國地圖標注 北京400電話辦理收費標準 山東外呼銷售系統招商 貴州電銷卡外呼系統 魔獸2青云地圖標注 鄭州人工智能電銷機器人系統 十堰營銷電銷機器人哪家便宜 超呼電話機器人 宿遷便宜外呼系統平臺

一、數據丟失的情況

異步復制同步丟失

集群產生腦裂數據丟失

1.異步復制丟失

對于Redis主節點與從節點之間的數據復制,是異步復制的,當客戶端發送寫請求給master節點的時候,客戶端會返回OK,然后同步到各個slave節點中。

如果此時master還沒來得及同步給slave節點時發生宕機,那么master內存中的數據會丟失;

要是master中開啟持久化設置數據可不可以保證不丟失呢?答案是否定的。在master 發生宕機后,sentinel集群檢測到master發生故障,重新選舉新的master,如果舊的master在故障恢復后重啟,那么此時它需要同步新master的數據,此時新的master的數據是空的(假設這段時間中沒有數據寫入)。那么舊master中的數據就會被刷新掉,此時數據還是會丟失。

2.集群產生腦裂

首先我們需要理解集群的腦裂現象,這就好比一個人有兩個大腦,那么到底受誰來控制呢?在分布式集群中,分布式協作框架zookeeper很好的解決了這個問題,通過控制半數以上的機器來解決。

那么在Redis中,集群腦裂產生數據丟失的現象是怎么樣的呢?

假設我們有一個redis集群,正常情況下client會向master發送請求,然后同步到salve,sentinel集群監控著集群,在集群發生故障時進行自動故障轉移。

此時,由于某種原因,比如網絡原因,集群出現了分區,master與slave節點之間斷開了聯系,sentinel監控到一段時間沒有聯系認為master故障,然后重新選舉,將slave切換為新的master。但是master可能并沒有發生故障,只是網絡產生分區,此時client任然在舊的master上寫數據,而新的master中沒有數據,如果不及時發現問題進行處理可能舊的master中堆積大量數據。在發現問題之后,舊的master降為slave同步新的master數據,那么之前的數據被刷新掉,大量數據丟失。

在了解了上面的兩種數據丟失場景后,我們如何保證數據可以不丟失呢?在分布式系統中,衡量一個系統的可用性,我們一般情況下會說4個9,5個9的系統達到了高可用(99.99%,99.999%,據說淘寶是5個9)。對于redis集群,我們不可能保證數據完全不丟失,只能做到使得盡量少的數據丟失。

二、如何保證盡量少的數據丟失?

在redis的配置文件中有兩個參數我們可以設置:

min-slaves-to-write 1
min-slaves-max-lag 10

min-slaves-to-write默認情況下是0,min-slaves-max-lag默認情況下是10。

以上面配置為例,這兩個參數表示至少有1個salve的與master的同步復制延遲不能超過10s,一旦所有的slave復制和同步的延遲達到了10s,那么此時master就不會接受任何請求。

我們可以減小min-slaves-max-lag參數的值,這樣就可以避免在發生故障時大量的數據丟失,一旦發現延遲超過了該值就不會往master中寫入數據。

那么對于client,我們可以采取降級措施,將數據暫時寫入本地緩存和磁盤中,在一段時間后重新寫入master來保證數據不丟失;也可以將數據寫入kafka消息隊列,隔一段時間去消費kafka中的數據。

通過上面兩個參數的設置我們盡可能的減少數據的丟失,具體的值還需要在特定的環境下進行測試設置。

補充:Redis Cluster 會丟數據嗎?

Redis Cluster 不保證強一致性,在一些特殊場景,客戶端即使收到了寫入確認,還是可能丟數據的。

場景1:異步復制

client 寫入 master B

master B 回復 OK

master B 同步至 slave B1 B2 B3

B 沒有等待 B1 B2 B3 的確認就回復了 client,如果在 slave 同步完成之前,master 宕機了,其中一個 slave 會被選為 master,這時之前 client 寫入的數據就丟了。

wait 命令可以增強這種場景的數據安全性。

wait 會阻塞當前 client 直到之前的寫操作被指定數量的 slave 同步成功。

wait 可以提高數據的安全性,但并不保證強一致性。

因為即使使用了這種同步復制方式,也存在特殊情況:一個沒有完成同步的 slave 被選舉為了 master。

場景2:網絡分區

6個節點 A, B, C, A1, B1, C1,3個master,3個slave,還有一個client,Z1。

發生網絡分區之后,形成了2個區,A, C, A1, B1, C1 和 B Z1。

這時 Z1 還是可以向 B 寫入的,如果短時間內分區就恢復了,那就沒問題,整個集群繼續正常工作,但如果時間一長,B1 就會成為所在分區的 master,Z1 寫入 B 的數據就丟了。

maximum window(最大時間窗口) 可以減少數據損失,可以控制 Z1 向 B 寫入的總數:

過去一定時間后,分區的多數邊就會進行選舉,slave 成為 master,這時分區少數邊的 master 就會拒絕接收寫請求。

這個時間量是非常重要的,稱為節點過期時間。

一個 master 在達到過期時間后,就被認為是故障的,進入 error 狀態,停止接收寫請求,可以被 slave 取代。

小結

Redis Cluster 不保證強一致性,存在丟失數據的場景:

異步復制

在 master 寫成功,但 slave 同步完成之前,master 宕機了,slave 變為 master,數據丟失。

wait 命令可以給為同步復制,但也無法完全保證數據不丟,而且影響性能。

網絡分區

分區后一個 master 繼續接收寫請求,分區恢復后這個 master 可能會變為 slave,那么之前寫入的數據就丟了。

可以設置節點過期時間,減少 master 在分區期間接收的寫入數量,降低數據丟失的損失。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 深入淺析Redis 集群伸縮原理
  • 基于Docker搭建Redis主從集群的實現
  • Docker上實現Redis集群搭建
  • Redis6.0搭建集群Redis-cluster的方法
  • Redis5之后版本的高可用集群搭建的實現
  • 在K8s上部署Redis集群的方法步驟
  • Redis cluster集群模式的原理解析
  • Redis Cluster集群主從切換的踩坑與填坑
  • 詳解Redis集群搭建的三種方式

標簽:大慶 江蘇 臺州 楊凌 果洛 北京 吉安 朝陽

巨人網絡通訊聲明:本文標題《Redis主從集群切換數據丟失的解決方案》,本文關鍵詞  Redis,主從,集群,切換,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis主從集群切換數據丟失的解決方案》相關的同類信息!
  • 本頁收集關于Redis主從集群切換數據丟失的解決方案的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲韩国精品一区| 成人av在线资源网站| 成人午夜精品在线| 精品一区二区精品| 久久精品av麻豆的观看方式| 欧美一区二区三区免费视频| 玖玖九九国产精品| 国产99久久久久久免费看农村| 一区二区三区四区av| 丝袜亚洲精品中文字幕一区| 亚洲成人自拍网| 美女视频一区二区三区| 国产成人精品1024| 在线电影一区二区三区| 国产午夜亚洲精品不卡| 亚洲一区二区偷拍精品| 国产高清精品网站| 青青草国产成人av片免费| av成人免费在线观看| 日韩午夜激情av| 亚洲香蕉伊在人在线观| 一区二区三区鲁丝不卡| 国产精品一级在线| 91精品国产色综合久久| 亚洲视频网在线直播| 亚洲免费毛片网站| 国产成人精品免费网站| 精品久久久影院| 亚洲二区在线视频| 在线精品视频免费观看| 免费观看久久久4p| 亚洲免费观看高清完整版在线观看 | 欧美日韩一区二区三区在线| 国产精品免费av| 国产成人精品网址| 成人精品视频一区二区三区| 欧美大胆人体bbbb| 激情图区综合网| 精品免费视频一区二区| 麻豆成人91精品二区三区| 欧美日韩精品系列| 国产精品一色哟哟哟| 国产毛片精品国产一区二区三区| 欧美一区二区在线不卡| 美美哒免费高清在线观看视频一区二区| 在线观看91视频| 91麻豆精品国产自产在线| 日韩va欧美va亚洲va久久| 在线不卡免费欧美| 日本成人超碰在线观看| 国产成人免费在线视频| 成人国产精品视频| 亚洲欧美视频在线观看视频| 成人免费av网站| 亚洲欧美在线高清| 欧美亚洲一区二区在线观看| 亚洲一区二区三区小说| 日韩欧美亚洲另类制服综合在线| 蜜乳av一区二区三区| 亚洲国产成人av| 一级日本不卡的影视| 久久久精品免费网站| 91在线无精精品入口| 亚洲va韩国va欧美va| 亚洲风情在线资源站| 亚洲电影第三页| 日日夜夜免费精品视频| 日本美女一区二区三区视频| 男女男精品视频| 久久aⅴ国产欧美74aaa| 激情偷乱视频一区二区三区| 国产精品中文有码| 99热99精品| 欧美最猛性xxxxx直播| 欧美怡红院视频| 91精品国产综合久久久久久久久久 | 国产精品欧美久久久久无广告| 久久久久亚洲综合| 国产精品五月天| 亚洲欧美日本在线| 亚洲国产成人porn| 国产麻豆91精品| 91丨九色丨尤物| 91精品婷婷国产综合久久| 欧美一级黄色片| 国产欧美精品国产国产专区 | 欧美日韩一区二区欧美激情| 欧美日韩情趣电影| 精品久久久久久亚洲综合网 | 久久九九99视频| 国产精品久久毛片a| 一区二区三区精品视频| 美女被吸乳得到大胸91| 成人国产精品免费观看视频| 在线观看不卡视频| 2023国产精品视频| 亚洲在线观看免费视频| 国产中文字幕精品| 91黄色免费看| 国产日韩欧美激情| 亚洲国产aⅴ成人精品无吗| 国内精品国产成人国产三级粉色 | 天堂成人国产精品一区| 亚洲午夜久久久久久久久久久| 丝袜脚交一区二区| 成人av动漫网站| 欧美一级黄色录像| 一区二区视频免费在线观看| 久久99国产精品尤物| 色噜噜久久综合| 久久一区二区三区四区| 亚洲h在线观看| 99精品视频在线观看免费| 欧美mv和日韩mv的网站| 亚洲欧美成人一区二区三区| 极品美女销魂一区二区三区免费| 欧洲一区在线电影| 国产精品久久久久久久久快鸭 | 精品国产青草久久久久福利| 亚洲精品国产高清久久伦理二区| 秋霞国产午夜精品免费视频| 色哟哟日韩精品| 久久久国产精品午夜一区ai换脸| 亚洲h精品动漫在线观看| 色综合久久综合网97色综合 | 欧美午夜电影在线播放| 成人欧美一区二区三区黑人麻豆| 国产精品亚洲第一| 亚洲精品一区二区三区蜜桃下载| 亚洲午夜久久久久久久久久久| 91视频免费看| 欧美激情一区二区三区蜜桃视频 | 樱桃视频在线观看一区| 国产福利一区二区三区视频在线| 欧美高清一级片在线| 亚洲猫色日本管| 成人免费高清在线| 久久久另类综合| 国产伦精一区二区三区| 26uuu精品一区二区| 自拍偷拍亚洲综合| 不卡欧美aaaaa| 中文字幕五月欧美| 成人av片在线观看| 国产精品日韩成人| av一区二区三区在线| 2014亚洲片线观看视频免费| 国内精品国产成人| 国产精品久久久久久亚洲毛片| 国产成人精品免费一区二区| 国产欧美日韩精品一区| 99久久精品国产导航| 亚洲欧洲色图综合| 欧美日韩一区三区四区| 午夜精品久久久久久久久| 91色|porny| 亚洲高清免费一级二级三级| 91精品国产综合久久久久久久 | 国产真实精品久久二三区| 日韩欧美一二区| 美国毛片一区二区三区| 欧美不卡123| youjizz国产精品| 亚洲另类一区二区| 日韩西西人体444www| 国产在线精品一区二区| 中文幕一区二区三区久久蜜桃| 一本高清dvd不卡在线观看 | 奇米777欧美一区二区| 久久久一区二区三区捆绑**| 色婷婷精品大视频在线蜜桃视频| 天堂精品中文字幕在线| 欧美国产在线观看| 91精品久久久久久久99蜜桃| 成人精品国产一区二区4080| 性做久久久久久| 国产午夜亚洲精品理论片色戒| 91久久精品一区二区二区| 九九热在线视频观看这里只有精品| 中文欧美字幕免费| 日韩女优视频免费观看| 色哟哟国产精品| 国产成人精品综合在线观看| 婷婷六月综合亚洲| 亚洲日本韩国一区| 日本一区二区三区国色天香| 日韩欧美一区中文| 欧美午夜精品理论片a级按摩| 顶级嫩模精品视频在线看| 久久精品国产亚洲高清剧情介绍 | 色狠狠一区二区| 黄色成人免费在线| 亚洲成a天堂v人片| 亚洲人成亚洲人成在线观看图片| 久久伊99综合婷婷久久伊| 在线成人免费观看| 欧美久久久久久蜜桃| 在线精品视频免费播放| 91免费看片在线观看| 99久精品国产|