Redis主从复制与哨兵模式

Redis主从复制

redis可以通过slaveof host port 的方式将其变成从机,而你设置的host就是主机,这样就可以实现数据的同步,而主机只负责去写数据,而从机只负责去读数据。通过这个命令去实现的从机,如果从机宕机了,那么它自己就会变成主机。解决这个问题的办法就是在redis.conf 中将其配置死。

需要准备三台服务器,我这里由于硬件限制,就在一个服务器上开三个端口(6379、6380、6381),来模拟三台服务器。

首先通过三个配置文件启动redis

Redis主从复制与哨兵模式

然后查看进程号确保启动成功

Redis主从复制与哨兵模式

之后设置从机,让端口为6379的为主机、其它两个当做从机

Redis主从复制与哨兵模式

查看两个从机的信息

Redis主从复制与哨兵模式

测试

Redis主从复制与哨兵模式

哨兵模式

其实就是再开一条进程对redis集群,进行监控,如果主节点宕机了,那么它会从现有的主机中选取出一个当做主机。当以前的主机在此连接回来,会被当做从机。

首先要编写哨兵的配置文件sentinel.conf

# sentinel monitor 名字(随便起) host port 1
sentinel monitor mysentinel 127.0.0.1 6379 1

1:表示,当前主机的票数,如果宕机了,将会在从新选取

启动哨兵进行监控

Redis主从复制与哨兵模式

模拟主机宕机(哨兵使用自带的算法,进行选举出新的主机)

Redis主从复制与哨兵模式

当原先的主机连接回来后,变成现在主机的从机

Redis主从复制与哨兵模式

上一篇:【分布式架构】--- 基于Redis组件的特性,实现一个分布式限流


下一篇:Redis 事务和乐观锁