在 redis3.0 以前的版本要实现集群一般是借助哨兵 sentinel 工具来监控 master 节点的状态,如果 master 节点异常,则会做主从切换,将某一台 slave 作为 master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的效率。
Sentinel 初始化
Sentinel(哨兵)是 Redis 高可用(high availability) 解决方案,由一个或者多个 Sentinel 实例(instance)组成的 Sentinel 系统(system)可以监视一个或者多个 Redis 主服务器和其跟随的从服务器,并且在被监视的主服务进入下线状态时,自动进行将当前主服务器的从服务器其中一个升级为主服务器,然后将下线的主服务器设置为新主服务器的从节点。
Sentinel 本身我们可以理解为一个特殊的 Redis 服务器, 它也可以通过 redis-server xxx.conf --sentinel启动。
下面是我们实验环境的一个 Sentinel 服务器和 Redis 服务器列表(由于实验都在本机进行,我们采用端口的方式来区分多个服务),服务和端口大致如下:
| IP |
端口 |
集群 |
| 127.0.0.1 |
6379 |
Master |
| 127.0.0.1 |
6380 |
Slave |
| 127.0.0.1 |
6381 |
Slave |
| 127.0.0.1 |
26379 |
Sentinel |
| 127.0.0.1 |
26380 |
Sentinel |
| 127.0.0.1 |
26381 |
Sentinel |
首先我们找到 Redis 的配置文件目录,修改 redis-sentinel.conf文件中的以下参数:
# sentinel 端口 port 26381 # 后台运行 daemonize yes

Redis Sentinel 是一种高可用解决方案,监控并自动处理主从切换。哨兵系统通过定期发送INFO命令获取节点状态,当主节点主观下线后,会进行客观下线判断和领头哨兵选举。故障转移过程包括选择新主服务器、切换从服务器和恢复旧主服务器为从。 Sentinel 提供了自动化故障恢复能力,增强了 Redis 集群的稳定性。
最低0.47元/天 解锁文章
1577

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



