Redis 双机部署完整方案(两种架构适配两台机器)
作者:BullSmall
本文介绍了Redis双机高可用标准方案:采用1主1从+双哨兵架构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
先明确:原生 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、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:双哨兵环境必须这样,否则无法达成选举
四、启动顺序(严格按顺序)
- 启动主库 redis(机器 1)
- 启动从库 redis(机器 2)
- 两台机器分别启动 sentinel
redis-sentinel /etc/redis/sentinel.conf
五、故障模拟验证
- 关闭机器 1 Redis
- 哨兵自动感知,机器 2 从库自动升为主库
- 业务切换新主节点写入
- 恢复机器 1 Redis,自动变为新主的从库
六、业务连接写法
业务直接连接哨兵,而非固定主从:
sentinel://10.0.0.1:26379,10.0.0.2:26379/mymaster
自动获取当前真实主节点地址,无感切换。
七、重要禁忌
- ❌ 不要用 Redis Cluster 做双机Cluster 至少 3 主,双机强行部署会脑裂、集群不可用。
- ✅ 双机热备 = 主从 + 哨兵 标准方案
- 数据强一致:开启
replica-serve-stale-data no
八、极简总结
- 双机不能用 Redis 集群 (Cluster)
- 双机标准方案:1 主 1 从 + 双哨兵
- 满足:双机部署、自动切换、高可用、生产可用
- 适合:中小项目、数据库双机热备架构
到此这篇关于Redis 双机部署完整方案(两种架构适配两台机器)的文章就介绍到这了,更多相关Redis 双机部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
