redis主从复制

Redis的主从复制用于分担读压力,从节点默认只读,断开后可自动同步增量数据。哨兵Sentinel系统提供自动故障恢复功能,当主节点宕机,Sentinel会选举新的主节点并调整集群配置,确保高可用性。Sentinel通过发布订阅发现并传递其他哨兵及服务状态信息。
摘要由CSDN通过智能技术生成

主从复制

Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制。这需要将一台Redis服务器的数据,前者为主节点,后者为从节点。一般情况下是主节点可读可写,从节点默认只能读数据。

当把一个redis库设定为另一个redis从节点时,该库下的数据会先被清除,然后根据主节点进行全量同步,之后自动进行增量同步。当从节点中间断连之后又连接上后,会就会发送sync请求和主机同步,自动获取这期间主节点的增量数据。在开启reids服务时使用redis-server [配置文件]   --replicaof 127.0.0.1 [主节点端口号]即可将本机的某redis进程设为当前redis进程的主节点,而本redis进程为从节点。

主节点断连之后可以手动将别的从节点设置为主节点,再修改剩下从节点与这个库的主从关系。通过REPLICAOF no one指令让从节点停止进行复制,重新变回主节点。

Redis主从复制不阻塞主服务器端。也就是说当若干个从服务器在进行初始同步时,主服务器仍然可以处理请求。

哨兵sentinel

在 Redis 主从复制模式中,系统不具备自动恢复的功能,所以当主节点宕机后,需要手动把一台从节点切换为主节点。如果想要自动实现这种切换配置可以使用sentinel,当主节点出现故障,服务器宕机,内存满了等问题导致master不能再提供服务了,哨兵会自动从从节点中选择主节点重新形成一主多从的模式。

配置了哨兵之后哨兵能知道从节点信息,哨兵之间也知道各自的信息,哨兵之间是通过发布订阅发现其他哨兵并传递消息。

sentinel的配置文件再redis安装的源码目录中可以修改,在启动时也可以指定配置文件,如端口号,并通过sentinel monitor mymaster 127.0.0.1 [port] [权重]的指令指定要监听的redis服务。其中权重应设置为开启的sentinel服务数量的一半以上。

当配置了哨兵之后如果主节点断连了,哨兵会自动更改各个库的主从关系,从之前的从节点中选出新的主节点,并且改为监控该新主节点。断连的主节点会成为从节点,而且会修改各个库的配置文件。在该过程中sentinel自动投票选出新的主节点,并执行停止复制,使其重新变成主节点的命令等其他命令。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值