Redis主从复制集群的搭建


Redis主从复制的原理

主从复制概述

主从复制是Redis提供的一种数据复制机制,用于实现数据的高可用性和读写分离。Redis主从复制通过将一个Redis服务器(主节点)的数据复制到其它Redis服务器(从节点)来实现数据的复制和同步。主节点负责接收客户端的写操作,而从节点负责接收主节点的写操作,并将数据复制到本地。这样在主节点故障时,可以快速切换到从节点来提供服务,从而实现高可用性。

主从复制的过程

Redis主从复制分为全量复制与增量复制,Redis全量复制一般发生在从节点初始化阶段,这时从节点需要将主节点上的所有数据都复制一份到本地,全量复制结束后,新增的内容会采用增量复制,只复制新增的内容。主从复制的基本过程如下:

  • 从节点服务器连接到主节点服务器后便开始进行数据同步,从节点发送psync命令(Redis2.8之前是sync命令)。
  • 主节点服务器接收到psync命令之后,开始执行bgsave命令生成RDB快照文件并使用缓存区记录此后执行的所有写命令。
  • 主节点服务器执行完bgsave命令之后,会向所有从节点发送快照文件,并在发送期间继续在缓冲区内记录被执行的写命令。
  • 从节点接收到RDB快照文件后,会将接收到的数据写入磁盘,然后清空所有旧数据,再从本地磁盘载入接收到的快照到内存中。
  • 主节点发送完RDB快照文件之后,便开始向从节点发送缓冲区中的写命令。
  • 从节点完成快照文件的载入后,开始接收命令请求,执行来自主服务器缓冲区的写命令。

经过以上几步,从节点就完全复制了主节点上的所有数据,以后的数据同步采用的就是增量复制,增量复制的主要过程是主节点每执行一个写命令就会向从节点发送相同的写命令,从节点接收并执行收到的写命令,从而保持主从数据的一致。

Redis主从复制集群的搭建

集群环境准备

1、一台Redis主节点服务器,两台Redis从节点服务器。配置如下:

  • Master:主节点服务器,IP地址为192.168.238.71。
  • Slave1:从节点服务器,IP地址为192.168.238.72。
  • Slave2:从节点服务器,IP地址为192.168.238.73。

2、开放三台服务器的6379端口。

Redis

主从复制配置

1、修改三台服务器的IP地址绑定并关闭保护模式,主要配置项如下:

  • bind:只允许绑定的IP地址连接。
  • protected-mode:保护模式,默认为yes。

1.1、将bind 127.0.0.1修改为bind 0.0.0.0,允许任意的主机连接。

Redis

1.2、将protected-mode yes修改为protected-mode no,关闭保护模式。

Redis

2、开启两台从节点服务器的主从模式,主要配置项如下:

  • slaveof:配置主节点服务器的IP地址与端口。

2.1、slaveof配置项默认未启用(使用#号注释),若要启用需要新增此配置。

Redis

2.2、修改完毕后过滤掉注释与空行查看配置文件。

Redis

3、配置完毕,重启Redis服务。

Redis

4、登录主从节点服务器查看状态。

4.1、查看主节点服务器状态。

  • role:角色,master为主节点,slave为从节点。
  • slave0:第一台从节点的基本信息。
  • slave1:第二台从节点的基本信息。
Redis

4.2、查看从节点服务器状态。

  • role:角色,master为主节点,slave为从节点。
  • master_host:主节点的地址。
  • master_port:主节点的端口。
Redis

主从复制测试

1、登录主节点服务器,新增一条数据。

Redis

2、登录从节点服务器,查看新增数据。

Redis

发表评论

评论数量:0