1. 项目概述
Redis作为当下最流行的内存数据库之一,其集群模式的高可用特性在实际生产环境中尤为重要。不同于常见的哨兵模式,原生Redis集群通过数据分片和主从复制实现真正意义上的分布式架构。最近我在部署一套新的缓存系统时,选择了基于Docker的Redis集群方案,这里将完整记录从环境准备到集群验证的全过程。
Redis集群采用去中心化架构,数据被自动分片到多个节点,每个分片都有对应的从节点作为备份。这种设计不仅避免了哨兵模式下的单点故障问题,还能实现真正的水平扩展。通过Docker容器化部署,我们可以快速构建出与生产环境拓扑结构一致的测试集群,极大简化了环境搭建的复杂度。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 Docker环境检查
首先确保宿主机已安装Docker Engine 20.10.0以上版本,这是运行Redis集群的最低要求。检查命令如下:
bash复制docker --version
docker-compose --version # 可选但推荐
如果使用Linux系统,建议通过官方仓库安装最新稳定版。对于Mac/Windows用户,Docker Desktop已包含所需全部组件。内存分配方面,每个Redis节点至少需要100MB内存,建议为Docker分配不少于2GB内存。
2.2 网络规划方案
Redis集群节点间需要相互通信,我们创建专用网络:
bash复制docker network create redis-cluster-net --subnet 172.28.0.0/16
采用固定子网IP可以避免容器重启后IP变化导致的集群配置失效。规划6个节点(3主3从)的IP分配如下:
| 节点角色 | 容器名称 | IP地址 |
|---|---|---|
| 主节点1 | redis-node-1 | 172.28.0.11 |
| 从节点1 | redis-node-2 | 172.28.0.12 |
| 主节点2 | redis-node-3 | 172.28.0.13 |
| 从节点2 | redis-node-4 | 172.28.0.14 |
| 主节 |
