redis集群部署方案
有 12 台 1T 内存的机器要做 Redis 集群部署,我可以帮你设计一个高可用、高性能、易扩展的 Redis Cluster 方案。
1. 需求分析
- 设备:12 台服务器,每台 1T 内存(推测 CPU / 网络配置也较高)
- 目标:构建一个 Redis 集群,满足 高可用(自动容灾)、高吞吐、可扩展
- 场景:大概率是缓存、会话存储或实时数据处理,需要考虑分片与副本
2. Redis 集群方案设计
2.1 架构模式选择
Redis 官方推荐 Redis Cluster 模式(3.0+),支持自动分片、主从复制和自动故障转移,无需额外的 Sentinel 层。
2.2 节点分配
- Redis Cluster 最少需要 3 个主节点
- 为保证高可用,每个主节点至少 1 个从节点(副本)
- 12 台机器建议分配为:
- 6 个主节点 + 6 个从节点
- 每个主节点有 1 个从节点,分布在不同物理机上
 
2.3 分片与数据分布
- Redis Cluster 有 16384 个哈希槽
- 6 个主节点,每个节点负责大约 16384 / 6 ≈ 2731 个槽
- 客户端根据 key 的哈希值自动路由到对应节点
2.4 高可用机制
- 主节点挂掉时,对应的从节点会自动升级为主节点
- 从节点挂掉不影响数据可用性,只需尽快恢复
- 跨机房部署时,建议主从节点分机房放置
2.5 节点部署示例
假设 12 台机器的主机名 / IP 为 
redis-01 到 redis-12:| 主节点 | 从节点 | 负责槽位 | 
|---|---|---|
| redis-01 | redis-07 | 0-2730 | 
| redis-02 | redis-08 | 2731-5461 | 
| redis-03 | redis-09 | 5462-8191 | 
| redis-04 | redis-10 | 8192-10922 | 
| redis-05 | redis-11 | 10923-13652 | 
| redis-06 | redis-12 | 13653-16383 | 
| 主节点 | 从节点 | 负责槽位 | 
|---|---|---|
| redis-01 | redis-07 | 0-2730 | 
| redis-02 | redis-08 | 2731-5461 | 
| redis-03 | redis-09 | 5462-8191 | 
| redis-04 | redis-10 | 8192-10922 | 
| redis-05 | redis-11 | 10923-13652 | 
| redis-06 | redis-12 | 13653-16383 | 
3. 部署步骤
3.1 系统准备
每台机器:
- 安装 Redis 6.x/7.x(建议最新稳定版)
- 关闭 Transparent Huge Pages
- 调整内核参数(vm.overcommit_memory=1 等)
- 配置最大文件句柄数
3.2 Redis 配置示例(redis.conf)
plaintext
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
dir /data/redis
masterauth your_password
requirepass your_password
3.3 启动所有节点
bash
redis-server /etc/redis/redis.conf
3.4 创建集群
bash
redis-cli --cluster create \
192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 \
192.168.1.4:6379 192.168.1.5:6379 192.168.1.6:6379 \
192.168.1.7:6379 192.168.1.8:6379 192.168.1.9:6379 \
192.168.1.10:6379 192.168.1.11:6379 192.168.1.12:6379 \
--cluster-replicas 1
3.5 验证集群
bash
redis-cli --cluster check 192.168.1.1:6379
4. 性能与容量规划
- 总内存容量:约 12TB(实际可用约 10TB,预留 20% 空间)
- 建议设置合理的 maxmemory-policy(如 allkeys-lru)
- 考虑使用 Redis 6+ 的 I/O 多线程特性提升性能
- 每台机器建议配置万兆网卡
5. 运维建议
- 使用 Prometheus + Grafana 监控集群
- 配置自动备份(RDB+AOF)
- 定期进行主从切换演练
- 考虑使用 RedisInsight 进行可视化管理
- 提前规划扩容方案(可增加主节点数量)
下述为一个Redis 集群部署架构图,更直观地展示 12 台机器的主从关系和数据流向。清晰展示 12 台机器的主从关系、数据分片和连接方式。

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号