Redis 雙機部署完整方案(兩種架構(gòu)適配兩臺機器)
更新時間:2026年05月09日 09:46:10 作者:BullSmall
本文介紹了Redis雙機高可用標準方案:采用1主1從+雙哨兵架構(gòu),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
先明確:原生 Redis Cluster 集群不能雙機做高可用(最少 3 主),雙機只能用「主從 + 哨兵」架構(gòu),是企業(yè)雙機標準方案。
一、架構(gòu)選型(雙機唯一可行方案)
兩臺服務器:
- 節(jié)點 A:主節(jié)點 Master
- 節(jié)點 B:從節(jié)點 Slave + 哨兵
- 兩臺都部署 Sentinel 哨兵
架構(gòu):1 主 1 從 + 雙哨兵? 支持自動故障轉(zhuǎn)移、主從切換、高可用? 不是 Redis-Cluster 分片集群(無哈希槽、不分片)
二、部署拓撲
機器1(10.0.0.1): Redis-Master + Sentinel-1 機器2(10.0.0.2): Redis-Slave + Sentinel-2
核心優(yōu)勢
- 剛好兩臺機器,滿足等保 / 雙機熱備要求
- 主庫宕機,從庫自動升級為主庫
- 故障恢復后自動重新加入集群
- 配置簡單、運維成本低
三、關鍵配置
1、Master 配置(機器 1 redis.conf)
port 6379 bind 0.0.0.0 daemonize yes requirepass 123456 masterauth 123456
2、Slave 配置(機器 2 redis.conf)
port 6379 bind 0.0.0.0 daemonize yes requirepass 123456 masterauth 123456 # 指向主庫 replicaof 10.0.0.1 6379
3、雙哨兵配置(兩臺 sentinel.conf 都配置)
port 26379 daemonize yes # 監(jiān)控主庫,mymaster自定義名稱,1=法定票數(shù) sentinel monitor mymaster 10.0.0.1 6379 1 sentinel auth-pass mymaster 123456 # 主庫多久失聯(lián)判定下線 sentinel down-after-milliseconds mymaster 30000 # 故障轉(zhuǎn)移超時 sentinel failover-timeout mymaster 60000
投票數(shù)填 1:雙哨兵環(huán)境必須這樣,否則無法達成選舉
四、啟動順序(嚴格按順序)
- 啟動主庫 redis(機器 1)
- 啟動從庫 redis(機器 2)
- 兩臺機器分別啟動 sentinel
redis-sentinel /etc/redis/sentinel.conf
五、故障模擬驗證
- 關閉機器 1 Redis
- 哨兵自動感知,機器 2 從庫自動升為主庫
- 業(yè)務切換新主節(jié)點寫入
- 恢復機器 1 Redis,自動變?yōu)樾轮鞯膹膸?/li>
六、業(yè)務連接寫法
業(yè)務直接連接哨兵,而非固定主從:
sentinel://10.0.0.1:26379,10.0.0.2:26379/mymaster
自動獲取當前真實主節(jié)點地址,無感切換。
七、重要禁忌
- ? 不要用 Redis Cluster 做雙機Cluster 至少 3 主,雙機強行部署會腦裂、集群不可用。
- ? 雙機熱備 = 主從 + 哨兵 標準方案
- 數(shù)據(jù)強一致:開啟
replica-serve-stale-data no
八、極簡總結(jié)
- 雙機不能用 Redis 集群 (Cluster)
- 雙機標準方案:1 主 1 從 + 雙哨兵
- 滿足:雙機部署、自動切換、高可用、生產(chǎn)可用
- 適合:中小項目、數(shù)據(jù)庫雙機熱備架構(gòu)
到此這篇關于Redis 雙機部署完整方案(兩種架構(gòu)適配兩臺機器)的文章就介紹到這了,更多相關Redis 雙機部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

