一、Redis集群整体架构
整体架构是主从结构+哨兵(sentinel),实现了容灾的自动切换。一个主节点(master)可拥有多个从节点(slave),从节点实现对主节点的复制,保证数据同步。而哨兵(sentinel)则对各节点进行监控,主要包括主节点存活检测、主从运行情况检测等,一旦主节点宕机,哨兵可自动进行故障转移 (failover)、主从切换
1.1 安装Redis
使用3台服务器,分别安装 Redis
Ip | Port | Role |
---|---|---|
192.168.0.1 | 6379 | Master |
192.168.0.2 | 6379 | Slave |
192.168.0.3 | 6379 | Slave |
192.168.0.4 | 26379 | Sentinel |
192.168.0.5 | 26379 | Sentinel |
192.168.0.6 | 26379 | Sentinel |
1.2 修改Master配置文件
1 | bind:0.0.0.0 # Redis 默认只允许本机访问,把bind修改为0.0.0.0表示允许所有远程访问。如果想指定限制访问,可设置对应的ip |
1.3 修改Slave配置文件
1 | bind:0.0.0.0 # Redis 默认只允许本机访问,把bind修改为0.0.0.0表示允许所有远程访问。如果想指定限制访问,可设置对应的ip |
1.4 安装Redis哨兵
Redis哨兵是Redis 的高可用性解决方案,由一个或多个哨兵实例组成。它可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,它的主要功能如下:
- 监控(Monitoring): 哨兵会不断地检查你的主服务器和从服务器是否运作正常。
- 通知(Notification): 当被监控的某个Redis服务器出现问题时,哨兵可以通过API向管理员或者其他应用程序发送通知。
- 故障迁移: 当主服务器不能正常工作时,哨兵会自动进行故障迁移,也就是主从切换。
- 统一的配置管理: 连接者询问哨兵取得主从的地址。
1 | port:26379 # 端口默认为26379 |
1.5 启动服务
1 | 192.168.0.1 执行 src/redis-server redis.conf |