最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis哨兵模式與主從架構(gòu)對比分析

 更新時間:2025年08月27日 08:35:22   作者:Chicken Run  
Redis哨兵模式在主從架構(gòu)基礎(chǔ)上增強(qiáng)高可用性,通過自動故障切換和監(jiān)控實(shí)現(xiàn)無人值守恢復(fù),但部署復(fù)雜且無法突破單機(jī)內(nèi)存限制,適用于讀多寫少、高可用需求的場景

Redis 哨兵模式(Sentinel)與主從架構(gòu)是一脈相承的分布式方案,哨兵模式是在主從架構(gòu)基礎(chǔ)上的增強(qiáng),兩者的核心差異體現(xiàn)在高可用能力、架構(gòu)復(fù)雜度適用場景上。

具體比較情況如下:

一、核心架構(gòu)與組件

維度主從架構(gòu)哨兵模式
核心組件主庫(Master)+ 從庫(Slave)主庫 + 從庫 + 哨兵節(jié)點(diǎn)(Sentinel)
節(jié)點(diǎn)功能主庫負(fù)責(zé)讀寫,從庫僅同步數(shù)據(jù)并提供讀服務(wù)主從節(jié)點(diǎn)功能同上;哨兵節(jié)點(diǎn)不存數(shù)據(jù),僅負(fù)責(zé)監(jiān)控、決策和通知
最小部署2 節(jié)點(diǎn)(1 主 1 從)5 節(jié)點(diǎn)(1 主 1 從 + 3 哨兵,3 個哨兵保證高可用)

二、核心能力對比

1. 數(shù)據(jù)同步與存儲

  • 兩者一致:均基于 “主從復(fù)制” 機(jī)制,從庫異步同步主庫數(shù)據(jù),所有節(jié)點(diǎn)存儲完整數(shù)據(jù)集(無分片)。
  • 一致性特點(diǎn):默認(rèn)存在主從數(shù)據(jù)延遲(主庫寫成功后立即返回,數(shù)據(jù)異步同步到從庫),極端情況下主庫宕機(jī)可能丟失未同步數(shù)據(jù)。

2. 高可用機(jī)制(核心差異)

能力主從架構(gòu)哨兵模式
故障檢測無原生機(jī)制,需人工或外部工具監(jiān)控哨兵節(jié)點(diǎn)通過PING定期檢測所有節(jié)點(diǎn),自動識別故障
主庫故障恢復(fù)需手動操作:
1. 選一個從庫執(zhí)行SLAVEOF NO ONE升級為主庫
2. 其他從庫重新配置主庫地址
3. 通知客戶端更新連接
全自動切換:
1. 哨兵協(xié)商確認(rèn)主庫故障(客觀下線)
2. 從從庫中選舉新主庫
3. 自動配置其他從庫同步新主庫
4. 通知客戶端新主庫地址
恢復(fù)時間分鐘級甚至更長(依賴人工響應(yīng)速度)秒級(通常 10-30 秒,取決于配置)
容錯能力主庫故障后寫服務(wù)完全不可用,直到人工恢復(fù)主庫故障后,哨兵自動完成切換,寫服務(wù)短暫中斷后恢復(fù)

3. 讀寫與擴(kuò)展能力

兩者一致

  • 寫請求僅由主庫處理,寫性能受限于單機(jī)配置(無法通過加節(jié)點(diǎn)擴(kuò)展)。
  • 讀請求可分流到從庫,讀性能可通過增加從庫擴(kuò)展。
  • 存儲能力受限于單機(jī)內(nèi)存(所有節(jié)點(diǎn)存全量數(shù)據(jù),無法分片)。

4. 客戶端接入

  • 主從架構(gòu):客戶端需硬編碼主庫地址,主庫故障后需手動修改客戶端配置。
  • 哨兵模式:客戶端連接哨兵集群(而非直接連接主庫),哨兵會自動告知客戶端當(dāng)前主庫地址,無需手動修改。

三、優(yōu)勢與局限

架構(gòu)優(yōu)勢局限
主從架構(gòu)部署簡單(僅需配置主從關(guān)系)1. 主庫故障需手動恢復(fù),可用性低
2. 客戶端需硬編碼主庫地址
哨兵模式1. 主庫故障自動切換,高可用性強(qiáng)
2. 客戶端無需關(guān)心主庫地址變化
1. 部署復(fù)雜度高于主從架構(gòu)(需維護(hù)哨兵節(jié)點(diǎn))
2. 仍無法解決單機(jī)內(nèi)存限制和寫性能瓶頸

四、適用場景

架構(gòu)適用場景
主從架構(gòu)1. 對可用性要求不高(如內(nèi)部非核心服務(wù))
2. 讀多寫少,數(shù)據(jù)量小
3. 可接受人工干預(yù)故障恢復(fù)
哨兵模式1. 對可用性要求高(如線上核心服務(wù))
2. 讀多寫少,數(shù)據(jù)量中等
3. 無法接受主庫故障后長時間不可用

總結(jié)

哨兵模式是主從架構(gòu)的 “高可用增強(qiáng)版”,核心價值是解決了主庫故障后的自動恢復(fù)問題,大幅提升了集群可用性,但未改變 “全量數(shù)據(jù)存儲”“單主寫” 的本質(zhì),因此仍適用于數(shù)據(jù)量可控、讀多寫少的場景。

如果需要突破單機(jī)內(nèi)存限制或擴(kuò)展寫性能,則需使用 Redis 集群(Redis Cluster)。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解緩存穿透擊穿雪崩解決方案

    詳解緩存穿透擊穿雪崩解決方案

    在我們?nèi)粘5拈_發(fā)中,有時需要系統(tǒng)在極短的時間內(nèi)完成成千上萬次的讀/寫操作,這個時候不是數(shù)據(jù)庫能夠承受的,通常會引入NoSQL技術(shù)。redis技術(shù)就是NoSQL技術(shù)中的一種,但是引入redis又有可能出現(xiàn)緩存穿透,緩存擊穿,緩存雪崩等問題。本文就對這三種問題進(jìn)行較深入剖析。
    2021-05-05
  • Redisson如何解決redis分布式鎖過期時間到了業(yè)務(wù)沒執(zhí)行完問題

    Redisson如何解決redis分布式鎖過期時間到了業(yè)務(wù)沒執(zhí)行完問題

    這篇文章主要介紹了Redisson如何解決redis分布式鎖過期時間到了業(yè)務(wù)沒執(zhí)行完問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Redis延遲雙刪的具體使用

    Redis延遲雙刪的具體使用

    本文主要討論了延時雙刪策略,用于解決緩存與數(shù)據(jù)庫數(shù)據(jù)不一致的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • Redis大key問題及解讀

    Redis大key問題及解讀

    Redis大key指value過大、元素過多或結(jié)構(gòu)復(fù)雜,易引發(fā)阻塞、網(wǎng)絡(luò)延遲、內(nèi)存不均及持久化問題,需拆分?jǐn)?shù)據(jù)、優(yōu)化結(jié)構(gòu)、設(shè)置過期、漸進(jìn)刪除,并通過監(jiān)控與設(shè)計預(yù)防確保系統(tǒng)穩(wěn)定
    2025-07-07
  • Redis的Hash類型及相關(guān)命令小結(jié)

    Redis的Hash類型及相關(guān)命令小結(jié)

    edis Hash是一種數(shù)據(jù)結(jié)構(gòu),用于存儲字段和值的映射關(guān)系,本文就來介紹一下Redis的Hash類型及相關(guān)命令小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Redis數(shù)據(jù)一致性問題的三種解決方案

    Redis數(shù)據(jù)一致性問題的三種解決方案

    Redis(Remote?Dictionary?Server?),是一個高性能的基于Key-Value結(jié)構(gòu)存儲的NoSQL開源數(shù)據(jù)庫,大部分公司采用Redis來實(shí)現(xiàn)分布式緩存,用來提高數(shù)據(jù)查詢效率,本文就給大家介紹三種Redis數(shù)據(jù)一致性問題的解決方案,需要的朋友可以參考下
    2023-07-07
  • redis分片集群的部署和使用教程

    redis分片集群的部署和使用教程

    這篇文章介紹了如何使用Docker和腳本在虛擬機(jī)上部署Redis集群,并詳細(xì)講解了Spring Boot整合Redis集群的方法,包括配置、讀寫分離以及一些須知,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • Redis中哈希結(jié)構(gòu)(Dict)的實(shí)現(xiàn)

    Redis中哈希結(jié)構(gòu)(Dict)的實(shí)現(xiàn)

    本文主要介紹了Redis中哈希結(jié)構(gòu)(Dict)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 如何通過redis減庫存的秒殺場景實(shí)現(xiàn)

    如何通過redis減庫存的秒殺場景實(shí)現(xiàn)

    本文通過解決秒殺系統(tǒng)中的一個場景即數(shù)據(jù)預(yù)加載,即把庫存數(shù)據(jù)事先加載到緩存,然后通過緩存來更新庫存,簡單介紹了如何通過redis減庫存的秒殺場景實(shí)現(xiàn),感興趣的可以了解一下
    2022-06-06
  • Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法

    Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法

    Redis數(shù)據(jù)庫依賴于主存,在關(guān)系型數(shù)據(jù)庫以外再配套Redis管理緩存數(shù)據(jù)將對性能會有很大的提升,這里我們就來看一下Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法
    2016-06-06

最新評論

苗栗市| 兴城市| 浦县| 安岳县| 酉阳| 皮山县| 郑州市| 万载县| 九寨沟县| 双柏县| 江西省| 兴仁县| 民乐县| 宜黄县| 东丰县| 靖边县| 满洲里市| 通州区| 桂林市| 岫岩| 鲁山县| 长白| 白朗县| 手游| 开阳县| 抚远县| 麟游县| 屯昌县| 沈阳市| 济南市| 洛扎县| 宜兰县| 崇阳县| 东莞市| 章丘市| 革吉县| 类乌齐县| 蒙山县| 临沂市| 定南县| 德钦县|