Redis 常見的集群架構

Redis 常見的集群架構

以下是 Redis 常見的集群架構及其核心模式詳解,結合其設計原理、適用場景和優缺點進行綜合說明:


一、主從復制模式

架構原理

  • 角色劃分:包含一個主節點(Master)和多個從節點(Slave)。主節點處理所有寫操作,從節點通過異步復制同步主節點數據,僅支持讀操作。
  • 數據同步:首次連接時從節點觸發全量同步(RDB快照),后續通過增量命令(AOF)保持數據一致性。
  • 手動故障恢復:主節點宕機時需人工干預將從節點提升為新主節點。

優缺點

  • 優點讀寫分離提升讀性能;部署簡單,適合小規模場景。
  • 缺點:無自動故障轉移;數據量受單機內存限制;主節點宕機導致寫服務中斷。

適用場景:數據備份、讀請求遠多于寫的場景(如緩存系統)。

架構圖 :

image


二、哨兵模式(Sentinel)

架構原理

  • 哨兵集群:由多個哨兵節點組成,監控主從節點狀態,通過 Raft 算法選舉 Leader 哨兵主導故障轉移。
  • 自動故障切換:主節點客觀下線后,根據優先級、復制偏移量等規則選舉新主節點,并通知客戶端更新配置。
  • 弱一致性:數據同步異步進行,故障轉移期間可能出現短暫數據不一致。

優缺點

  • 優點:高可用性,自動容錯;支持讀寫分離。
  • 缺點數據存儲未分片,內存和寫入性能受單節點限制;需額外維護哨兵集群。

適用場景:中小規模系統,需高可用但無需分片的場景(如核心業務緩存)。

架構圖 :

![Editor _ Mermaid Chart-2025-04-14-062928](https://i-blog.csdnimg.cn/direct/fe2f103e93034d218e2f39df9fa8a320.png)?

三、Cluster 模式(官方分布式方案)

架構原理

  • 數據分片:通過哈希槽(16384個槽位)將數據分布到多個主節點,客戶端請求由節點自動路由。
  • 多主多從:每個主節點對應一至多個從節點,支持自動故障轉移。默認情況下 從節點只是做為熱備節點,不參與讀。從而保證數據一致性
  • 去中心化:節點間通過 Gossip 協議通信,無需依賴外部代理。

優缺點

  • 優點:支持橫向擴展;高可用性與高性能結合;數據分散存儲突破單機內存限制。
  • 缺點:不支持跨節點事務和多鍵操作(如 MGET);配置復雜度較高。

適用場景:大規模數據存儲和高并發場景(如電商庫存系統)。

架構圖:

Editor _ Mermaid Chart-2025-04-14-070549?


四、 代理模式 (第三方擴展方案)

1. Codis
  • 架構:通過代理層(Codis-Proxy)實現數據分片,依賴 ZooKeeper 管理元數據。

  • 特點:支持平滑擴容;兼容 Redis 協議,客戶端無感知。

  • 缺點:需修改 Redis 源碼(codis-server);依賴外部組件(如 ZooKeeper)。

  • 架構圖 :

    Editor _ Mermaid Chart-2025-04-14-072219

2. Twemproxy
  • 架構:輕量級代理,支持多 Redis 實例分片和負載均衡。
  • 特點:部署簡單;性能損失約 20%。
  • 缺點:代理層單點故障;不支持動態擴縮容。

適用場景:需快速實現分片但暫不遷移至 Cluster 的過渡方案。


五、模式對比與選型建議

模式數據分片自動容錯擴展性適用規模
主從復制??低(垂直擴展)小數據量、低并發
哨兵模式??中(主從復制)中小規模高可用場景
Cluster 模式??高(水平擴展)海量數據、高并發
Codis/Twemproxy?(代理層)?中(依賴代理配置)過渡或特定分片需求

選型建議

  • 優先選擇 Redis Cluster:適用于大規模分布式場景,兼顧分片與高可用。
  • 慎用主從/哨兵模式:僅適合數據量小且無分片需求的場景。
  • 代理模式的妥協:在無法升級到 Cluster 時選擇,但需權衡運維成本。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76751.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76751.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76751.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面試寶典(C++基礎)-01

文章目錄 1. C++基礎1.1 C++特點1.2 說說C語言和C++的區別1.3 說說 C++中 struct 和 class 的區別1.4 include頭文件的順序以及雙引號""和尖括號<>的區別1.5 說說C++結構體和C結構體的區別1.6 導入C函數的關鍵字是什么,C++編譯時和C有什么不同?1.7 C++從代碼…

快速獲得ecovadis認證的方法,如何提升ecovadis認證分數,有效期是多久

快速獲得EcoVadis認證的方法 EcoVadis認證是企業社會責任&#xff08;CSR&#xff09;和可持續發展能力的國際評估標準&#xff0c;被廣泛應用于供應鏈管理&#xff08;如蘋果、微軟、聯合利華等巨頭要求供應商通過EcoVadis評估&#xff09;。以下是快速獲得認證的關鍵步驟&am…

ubuntu 安裝samba

ubuntu 版本&#xff1a;Ubuntu 24.04.2 LTS 1. 保證連網 2. 安裝samba sudo apt install samba 在安裝結束以后&#xff0c;我們可以使用下面的命令來查看安裝&#xff1a; apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…

基于SpringBoot的寵物健康咨詢系統(源碼+數據庫+萬字文檔)

502基于SpringBoot的寵物健康咨詢系統&#xff0c;系統包含三種角色&#xff1a;管理員、用戶&#xff0c;顧問主要功能如下。 【用戶功能】 1. 首頁&#xff1a;查看系統主要信息和最新動態。 2. 公告&#xff1a;瀏覽系統發布的公告信息。 3. 顧問&#xff1a;瀏覽可提供咨詢…

人工智能驅動的科研新范式及學科應用研究

人工智能&#xff08;AI&#xff09;驅動的科研新范式通過數據、算力、算法的深度耦合深度嵌入科學研究的全過程&#xff0c;引發科研流程、思考邏輯和組織模式的深刻變革。文章系統總結了AI驅動科研新范式的主要特征與形式&#xff0c;提出AI驅動科研新范式的演化方向由“科研…

代碼生成工具explain的高級用法

修改 explain.cpp 中的模板部分&#xff1a; // 添加自定義頭文件 cout << "#include \"CustomLib.h\"\n"; 生成支持日志的記錄代碼&#xff1a; cout << "Logger::init();\n"; // 自動插入初始化代碼其他匯總 Magnet 多線程控制…

Vue3+elementPlus中 樹形控件封裝

1.組件 <template><div class"selection"><el-select placeholder"請選擇" v-model"nameList" clearable clear"handleClear" ref"selectUpResId" style"width: 100%"><el-option hidden :…

輝視監獄廣播對講系統:SIP協議賦能智慧監管新生態

一、全域互聯&#xff1a;構建監獄安防設備協同生態 基于SIP協議的輝視廣播對講系統&#xff0c;以"通信中樞"角色打破設備壁壘。其強大的兼容性可無縫對接監獄現有監控、門禁、報警等異構設備&#xff0c;支持GB/T 28181國標協議&#xff0c;實現跨品牌、跨系統的數…

信息系統項目管理師-工具名詞解釋(上)

本文章記錄學習過程中,重要的知識點,是否為重點的依據,來源于官方教材和歷年考題,持續更新共勉 本文章記錄學習過程中,重要的知識點,是否為重點的依據,來源于官方教材和歷年考題,持續更新共勉 數據收集 頭腦風暴 在短時間內獲得大量創意,適用于團隊環境,需要引導者…

C++之二叉搜索樹

目錄 ?叉搜索樹的概念 二叉搜索數的性能分析 二叉搜索樹的模擬實現 定義二叉樹節點結構 二叉搜索樹的插入 二叉搜索樹的查找 二叉搜索樹的刪除 中序遍歷 全部代碼 二叉搜索樹key和key/value使用場景 key搜索場景&#xff1a; key/value搜索場景&#xff1a; key/value…

數據結構——哈希詳解

數據結構——哈希詳解 目錄 一、哈希的定義 二、六種哈希函數的構造方法 2.1 除留取余法 2.2 平方取中法 2.3 隨機數法 2.4 折疊法 2.5 數字分析法 2.6 直接定值法 三、四種解決哈希沖突的方法 3.1 開放地址法 3.1.1 線性探測法 3.1.2 二次探測法 3.2 鏈地址法 3…

使用U盤安裝 ubuntu 系統

1. 準備U 盤制作鏡像 1.1 下載 ubuntu iso https://ubuntu.com/download/ 這里有多個版本以供下載&#xff0c;本文選擇桌面版。 1.2 下載rufus https://rufus.ie/downloads/ 1.3 以管理員身份運行 rufus 設備選擇你用來制作啟動項的U盤&#xff0c;不能選錯了&#xff1b;點…

RadioMaster POCKET遙控器進入ExpressLRS界面一直顯示Loading的問題解決方法

RadioMaster POCKET遙控器進入ExpressLRS界面一直顯示Loading的問題解決方法 問題描述解決方法 問題描述 有一天我發現我的 RadioMaster POCKET 遙控器進入 ExpressLRS 設置界面時&#xff0c;界面卻一直停留在 “Loading” 狀態&#xff0c;完全無法進入設置界面。 我并沒有…

計算機網絡 - 三次握手相關問題

通過一些問題來討論 TCP 協議中的三次握手機制 說一下三次握手的大致過程&#xff1f;為什么需要三次握手&#xff1f;2 次不可以嗎&#xff1f;第三次握手&#xff0c;可以攜帶數據嗎&#xff1f;第二次呢&#xff1f;三次握手連接階段&#xff0c;最后一次ACK包丟失&#xf…

【RabbitMQ】核心概念和工作流程

文章目錄 RabbitMQ 工作流程流程圖 Producer 和 ConsumerConnecting 和 ChannelVirtual hostQueueExchangeRabbitMQ 工作流程 RabbitMQ 工作流程 流程圖 RabbitMQ 就是一個生產者/消費者模型 Producer 就是生產者、Consumer 就是消費者Broker 是 RabbitMQ 服務器生產者和消費…

龍虎榜——20250414

今天縮量上漲有些乏力&#xff0c;壓力位還在~ 2025年4月14日龍虎榜行業方向分析 一、核心主線方向 黃金與貴金屬&#xff08;避險邏輯強化&#xff09; ? 驅動邏輯&#xff1a;國際地緣沖突持續升溫&#xff08;如中東局勢、臺海動態&#xff09;&#xff0c;疊加美國特朗普…

蔚來汽車智能座艙接入通義大模型,并使用通義靈碼全面提效

為加速AI應用在企業市場落地&#xff0c;4月9日&#xff0c;阿里云在北京召開AI勢能大會。阿里云智能集團資深副總裁、公共云事業部總裁劉偉光發表主題演講&#xff0c;大模型的社會價值正在企業市場釋放&#xff0c;阿里云將堅定投入&#xff0c;打造全棧領先的技術&#xff0…

探索 Go 與 Python:性能、適用場景與開發效率對比

1 性能對比&#xff1a;執行速度與資源占用 1.1 Go 的性能優勢 Go 語言被設計為具有高效的執行速度和低資源占用。它編譯后生成的是機器碼&#xff0c;能夠直接在硬件上運行&#xff0c;避免了 Python 解釋執行的開銷。 以下是一個用 Go 實現的簡單循環計算代碼&#xff1a; …

虛幻引擎 Anim To Tex| RVT | RT

本文上篇分為4個部分&#xff1a;動畫驅動材質&#xff0c;虛擬紋理&#xff0c;Rendertarget&#xff0c;以及其他雜項的地編ta干貨整理。&#xff08;其中RT部分基本為UOD重要截圖摘錄&#xff09; 本文下篇為&#xff1a;skylight和directional light的區別&#xff0c;未完…

kingbase權限管理

1. kingbase模式權限管理 1.1授予用戶對模式的權限 以具有足夠權限的用戶登錄后&#xff0c;執行以下 SQL 語句來授予用戶對模式的相應權限。假設你要授予用戶 your_user 對模式 your_schema 的使用權限&#xff1a; sql -- 授予用戶使用模式的權限 GRANT USAGE ON SCHEMA …