1. 为什么你需要一个三主三从的Redis集群?
如果你正在负责一个用户量快速增长的应用,或者正在为公司的核心业务搭建缓存层,那你肯定对“高可用”和“高性能”这两个词不陌生。我经历过好几次,半夜被电话叫醒,就是因为某个单点的Redis服务挂了,导致整个网站响应变慢甚至直接瘫痪。那种感觉,真的不想再体验第二次。
所以,后来我们团队决定,必须上集群。而三主三从的架构,可以说是Redis集群里一个非常经典和实用的选择。简单来说,它用三个主节点(Master)来分担数据存储和读写压力,每个主节点再配一个从节点(Slave)做实时备份。这样一来,任何一个主节点宕机,它的从节点都能立刻顶上,服务几乎不会中断。数据被自动分片到16384个槽位(slot)上,由三个主节点共同管理,不仅容量可以横向扩展,读写性能也能成倍提升。
这次,我选择在Rocky Linux 10上,部署最新的Redis 8.2.0。Rocky Linux作为CentOS的继承者,稳定性和企业级支持没得说,非常适合生产环境。Redis 8.2.0带来了不少新特性和性能优化,比如更好的内存效率、更灵活的模块支持。从零开始搭建这样一个集群,听起来有点复杂,但只要你跟着我的步骤走,避开我踩过的那些坑,其实一两个小时就能搞定。这篇文章,就是给你的一份超详细实操笔记,手把手带你走通全程。
2. 动手之前:环境规划与系统准备
搭建集群不是上来就敲命令,前期的规划决定了后期运维的复杂度。我们先得把“地基”打牢。
2.1 集群角色与IP规划
我建议你准备6台独立的虚拟机或物理服务器。如果资源紧张,在一台机器上跑6个Redis实例(通过不同端口)也可以,但这只适合测试,生产环境强烈不推荐,因为失去了高可用的意义。我这里按6台独立服务器来规划,表格看起来最清晰:
| 角色 | IP地址 | 主机名 | Redis端口 | 数据目录 |
|---|---|---|---|---|
| Redis-Master1 | 192.168.100.5 | Redis-Master1 | 6371 | /usr/local/redis-cluster/master1 |
| Redis-Master2 | 192.168.100.6 | Redis-Master2 | 6372 | /usr/local/redis-cluster/master2 |
| Redis-Master3 | 192.168.100.7 | Redis-Master3 | 6373 | /usr/local/redis-cluster/master3 |
| Redis-Slave1 | 192.168.100.8 | Redis-Slave1 | 6374 | /usr/local/redis-cluster/slave1 |
| Redis-Slave2 | 192.168.100.9 | Redis-Slave2 | 6375 | /usr/local/redis-cluster/slave2 |
| Redis-Slave3 | 192.168.100.10 | Redis-Slave3 | 6376 | /usr/local/redis-cluster/slave3 |
注意几个细节:
- 端口:我特意没有用默认的6379,而是用了6371-6376,这是为了避免和可能存在的其他Redis服务冲突,也方便一眼识别集群角色。
- 目录:为每个实例创建独立的数据和配置目录,这样日志、持久化文件、节点配置文件都不会混在一起,出问题了也好排查。
- 主机名:设置好主机名并在
/etc/hosts里做好映射,后面用主机名通信比记IP地址方便多了,也更规范。
2.2 基础系统配置(所有节点都要做)
这部分


1714

被折叠的 条评论
为什么被折叠?



