Redis 双机部署 完整方案(两种架构,适配两台机器)

目录

一、架构选型(双机唯一可行方案)

二、部署拓扑

核心优势

三、关键配置

[1、Master 配置(机器 1 redis.conf)](#1、Master 配置(机器 1 redis.conf))

[2、Slave 配置(机器 2 redis.conf)](#2、Slave 配置(机器 2 redis.conf))

[3、双哨兵配置(两台 sentinel.conf 都配置)](#3、双哨兵配置(两台 sentinel.conf 都配置))

四、启动顺序(严格按顺序)

五、故障模拟验证

六、业务连接写法

七、重要禁忌

八、极简总结


先明确:原生 Redis Cluster 集群不能双机做高可用 (最少 3 主),双机只能用「主从 + 哨兵」架构,是企业双机标准方案。

一、架构选型(双机唯一可行方案)

两台服务器:

  • 节点 A:主节点 Master
  • 节点 B:从节点 Slave + 哨兵
  • 两台都部署 Sentinel 哨兵

架构:1 主 1 从 + 双哨兵✅ 支持自动故障转移、主从切换、高可用❌ 不是 Redis-Cluster 分片集群(无哈希槽、不分片)


二、部署拓扑

复制代码
机器1(10.0.0.1):
  Redis-Master  + Sentinel-1

机器2(10.0.0.2):
  Redis-Slave   + Sentinel-2

核心优势

  1. 刚好两台机器,满足等保 / 双机热备要求
  2. 主库宕机,从库自动升级为主库
  3. 故障恢复后自动重新加入集群
  4. 配置简单、运维成本低

三、关键配置

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
# 监控主库,mymaster自定义名称,1=法定票数
sentinel monitor mymaster 10.0.0.1 6379 1
sentinel auth-pass mymaster 123456
# 主库多久失联判定下线
sentinel down-after-milliseconds mymaster 30000
# 故障转移超时
sentinel failover-timeout mymaster 60000

投票数填 1:双哨兵环境必须这样,否则无法达成选举


四、启动顺序(严格按顺序)

  1. 启动主库 redis(机器 1)
  2. 启动从库 redis(机器 2)
  3. 两台机器分别启动 sentinel
bash 复制代码
redis-sentinel /etc/redis/sentinel.conf

五、故障模拟验证

  1. 关闭机器 1 Redis
  2. 哨兵自动感知,机器 2 从库自动升为主库
  3. 业务切换新主节点写入
  4. 恢复机器 1 Redis,自动变为新主的从库

六、业务连接写法

业务直接连接哨兵,而非固定主从:

复制代码
sentinel://10.0.0.1:26379,10.0.0.2:26379/mymaster

自动获取当前真实主节点地址,无感切换。


七、重要禁忌

  1. ❌ 不要用 Redis Cluster 做双机Cluster 至少 3 主,双机强行部署会脑裂、集群不可用。
  2. ✅ 双机热备 = 主从 + 哨兵 标准方案
  3. 数据强一致:开启 replica-serve-stale-data no

八、极简总结

  • 双机不能用 Redis 集群 (Cluster)
  • 双机标准方案:1 主 1 从 + 双哨兵
  • 满足:双机部署、自动切换、高可用、生产可用
  • 适合:中小项目、数据库双机热备架构
相关推荐
Decay__39 分钟前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
代码山河3 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
学长毕设3 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
微订校园外卖平台4 小时前
校园外卖平台选模板还是定制:架构、数据流与验收清单
大数据·架构·外卖系统·本地生活·微订
zzu123zsw4 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号5 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
论文复现现场6 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
ZhengEnCi6 小时前
用 AI 写代码为什么拼到最后还是拼人:算力瓶颈与领域专家提示词的本质差异
算法·架构
啃瓜子的松鼠6 小时前
泛微OAe9-后端二开异步调用
java
Decay__6 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构