Redis高可用之---实现主从复制

1.概述

redis是支持主从复制的,把正常提供读写的功能的节点叫做master,把备份数据的节点,master宕机之后顶替的节点叫做slave.redis支持一主多从的复制,支持多级主从的复制。

高可用的基础--主从复制

2.结构 

一主多从

Redis高可用之---实现主从复制

多级主从

Redis高可用之---实现主从复制 

虽然redis支持多级主从,主从结构越复杂,造成同步数据时效率越缓慢,根据企业经验,最多一级主从,一主6从,在多就影响使用效率

3.实现redis的主从结构 

如下图利用6379 6380 6381实现主从结构的搭建,一主,二从

Redis高可用之---实现主从复制

定义6379是主节点,查看主从状态,登录到所有节点,观察主从状态

进入6379查询到时主端

Redis高可用之---实现主从复制

 依次进入到80、81,因为没有设置,所以都在主端

Redis高可用之---实现主从复制

每个节点在启动时,默认都是主节点,通过命令修改内存配置使得一主二从成功搭建

 4.主从测试

利用上面搭建的主从关系测试

4.1同步数据

6379写入数据,6380 6381查看是否同步

Redis高可用之---实现主从复制

登录80,81都能读取到主节点写入的数据

 Redis高可用之---实现主从复制

4.2在从节点写入数据

redis默认配置,对于slave从节点是只读配置,不允许写数据,在多级主从时可以关闭只读使得从节点作为第二级的主节点也可以写入数据.只读是常用配置

如下测试,从节点只有只读权限

Redis高可用之---实现主从复制

4.3是否主从具备顶替的能力

将6379宕机,观察6380和6381的role角色是否发生变化.

可以通过kill 模拟

Redis高可用之---实现主从复制

6380:没有发生角色变动还是slave

Redis高可用之---实现主从复制

结论:redis的主从能够实现数据的复制备份,对于高可用的功能,仅仅提供的就是数据备份,不能实现主节点宕机,从节点顶替的能力