2026-10-20 16:38:58
从头搭建Redis集群需理解其容灾、扩容机制,采用三主三从架构,通过Redis-trib.rb工具完成配置,核心步骤包括环境准备、节点配置、集群创建及验证。 以下是详细说明:
一、容灾与高可用机制Redis通过主从热备和哨兵(Sentinel)实现高可用:

决策机制:例如5个哨兵中需3个确认故障才触发切换,避免网络抖动导致误切换。
Redis集群通过分片(Sharding)解决单节点性能瓶颈:

修改每个节点的redis.conf,关键参数如下:
port 7000 # 节点端口bind 0.0.0.0 # 允许外部访问(非127.0.0.1)daemonize yes # 后台运行cluster-enabled yes # 开启集群模式cluster-config-file nodes_7000.conf # 集群配置文件cluster-node-timeout 15000 # 超时时间(毫秒)3. 启动节点redis-server redis_cluster/7000/redis.conf # 依次启动所有节点4. 创建集群使用Redis官方工具redis-trib.rb(需Ruby环境):
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
最小主节点数为3(奇数且>1),满足多数派决策(如3主2从可容忍1节点故障)。
集群模式下不支持KEYS、MULTI/EXEC等跨槽操作,需改用SCAN或哈希标签({user123}.profile)。
建议开启appendonly yes,避免故障时数据丢失。
Redis集群通过去中心化分片和哨兵监控实现高可用与横向扩展,三主三从架构可满足生产环境基本需求。实际部署时需注意网络配置、Ruby依赖及命令兼容性,理解其原理有助于优化系统设计和排查线上问题。