Redis 哨兵模式(二)

2023-04-15 17:08:16 浏览数 (1)

哨兵模式的实现

启动3个Redis实例作为哨兵节点和主从节点:

代码语言:javascript复制
redis-server sentinel1.conf
redis-server sentinel2.conf
redis-server sentinel3.conf
redis-server redis1.conf
redis-server redis2.conf
redis-server redis3.conf

在Redis实例redis1上执行以下命令,将其设置为主节点:

代码语言:javascript复制
redis-cli -p 6379
127.0.0.1:6379> config set slave-announce-ip 127.0.0.1
127.0.0.1:6379> config set slave-announce-port 6379
127.0.0.1:6379> sentinel monitor mymaster 127.0.0.1 6379 2

在Redis实例redis2和redis3上执行以下命令,将它们设置为从节点:

代码语言:javascript复制
redis-cli -p 6380
127.0.0.1:6380> config set slave-announce-ip 127.0.0.1
127.0.0.1:6380> config set slave-announce-port 6380
127.0.0.1:6380> slaveof 127.0.0.1 6379

在Redis实例sentinel1、sentinel2和sentinel3上执行以下命令,将它们设置为哨兵节点:

代码语言:javascript复制
redis-cli -p 26379
127.0.0.1:26379> sentinel monitor mymaster 127.0.0.1 6379 2

手动下线主节点,等待哨兵节点完成故障转移。

代码语言:javascript复制
redis-cli -p 6379 DEBUG sleep 30

检查哨兵节点的日志文件,确认故障转移成功。

哨兵模式为Redis提供了一种简单而有效的高可用性解决方案。通过将多个Redis实例组织成主从复制集群,并利用哨兵节点对主节点进行监控和故障转移,可以提供高可用性和故障恢复功能,从而保证系统的稳定性和可靠性。

0 人点赞