Redis 主从复制

前言

        在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢复和负载均衡等需求。Redis 也是如此,它为我们提供了复制的功能,实现了相同数据的多个 Redis 副本。复制功能是⾼可⽤ Redis 的基础,哨兵和集群都是在复制的基础上构建的。

单点问题

        如果某个服务程序只部署在一个节点上(一个物理服务器上),那么当这个物理服务器挂掉后就无法提供该服务了,这就影响了该服务的可用性,并且一个物理服务器的资源是有限的,如果访问量过高也会导致无法提供服务。

        引入分布式主要也是为了解决上述的单点问题,在分布式系统中,往往希望有多个服务器来部署 Redis 服务,形成一个 Redis 服务集群。当某个服务器出现问题后,其余的 Redis 服务器可以顶替,解决了可用性的问题。并且多个服务器能够分摊流量,通过 Redis 集群可以承担更大的访问量

主从模式

        主从模式是 Redis 服务器的部署方式。

        在若干个 Redis 节点中,有的是主节点,有的是从节点,从节点得听主节点的,从节点上的数据得跟随主节点变化,从节点上的数据和主节点要保持一致。从节点就是主节点的副本

        流程:一开始主节点中有一批数据,引入从节点后就需要将主节点中的所有数据同步给从节点,后续主节点上对数据做的任何修改都会同步给从节点。

目的

        准确的说,主从模式是对读操作的并发量与可用性的提高。因为对数据的修改操作只能由主节点完成,再由主节点同步给从节点,而主节点和从节点都可以完成读操作,因为它们保存的数据都是相同的。

        在实际业务场景中,读操作往往是远大于写操作的。所以提高了读操作的并发量和可用性是非常有必要的。

从节点的数据是否可以修改

        从节点上的数据是不能修改的,数据完全同步于主节点,要确保从节点的数据和主节点完全相同,避免歧义。

配置主从模式

        现在我们在一个物理服务器上配置多个 Redis 服务器来实现主从模式。

        参与复制的 Redis 实例划分为主节点(master)和从节点(slave)。每个从结点只能有⼀个主节点, ⽽⼀个主节点可以同时具有多个从结点。复制的数据流是单向的,只能由主节点到从节点。

        由于我们需要在一个物理服务器上创建 2 个子 Redis 服务器,一个主 Redis 服务器,所以先创建一个目录,然后将 Redis 配置文件复制到该目录中。

创建子 Redis 服务器配置文件

创建 redis-conf 目录

mkdir redis-conf

将配置文件复制到 redis-conf 目录

cp /etc/redis.conf redis-conf/redis01.conf
cp /etc/redis.conf redis-conf/redis02.conf

配置 Redis 服务器后台运行

        在 Redis 配置文件中 daemonize yes 配置项表示让 Redis 服务器按照后台进程的方式运行,要将两个配置文件中的 daemonize 配置项进行修改

配置 Redis 节点

        一个 Redis 主节点和 两个 Redis 子节点的端口号在同一个服务器上不能相同,所以我们要重新设置一下子 Redis 服务器的端口号

        将 Redis 子节点的端口号配置为 6380 和 6381

        而且 3 个 Reids 服务器的 RDB 和 AOF 文件路径和文件名不能相同,要不然 3 个 Redis 服务器就共用一个 RDB 和 AOF 文件了,要修改两个子 Redis 服务器 RDB 和 AOF 文件的路径和文件名。

启动 Redis 服务器

        按照不同的配置文件启动 Redis 服务器

redis-server ./redis-conf/redis01.conf 
redis-server ./redis-conf/redis02.conf 

        查询当前进程状态,可以看到 6379,6380,6381 端口号的 Redis 服务器均启动

ps -aux|grep redis

连接 Redis 服务器

        连接主 Redis 服务器

redis-cli

        连接子 Redis 服务器,6380 是端口号

redis-cli -p 6380

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林想被监督学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值