高并发解决方案 -- Redis主从复制集群部署

       昨天给大家介绍了以下Redis的一些基础知识、常用的数据类型以及数据持久化的两种方式。同时对于Redis中的事务也做了一个简单的介绍,相信大家对Redis已经有了一个全面的认识。今天我们就来学习一下Redis的集群部署。

     首先我们先来准备好虚拟机,这里使用的CentOS7环境。下面来看具体的操作。首先我们准备好配置文件。这里先来说明一下我们今天大家的集群环境的架构如下图所示:

 

大家可以看到上述架构图中有三个节点,其中主节点用来写数据,在将数据同步到从节点上去,读数据都是从两个从节点读。这种模式就是我们常说的Redis的主从复制。关于主从复制这里先给大家简单说以下这样做的好处,

       首先 我们都知道如果我们这样分离开来的话,主服务器就可以更好的专注于写操作,可以配置更适合写操作的工作模式。而从服务器专注于读操作,可以用更适合读取数据的模式工作。 这样一来就可以很大限度的提高彼此的生产力。

      其次,主从的模式可以有效地避免单点故障带来的问题,因为有数据同步的机制,各服务器之间的数据可以保持一致,即便是挂掉了一台服务器也不会造成数据的丢失,这也就相当于一个集群的环境。

好了,我们先来说一下本次的配置规划。首先我们在/usl/local目录下创建一个cluster-redis的目录,该目录就是redis的集群工作目录

接着,我们将redis.conf文件复制三份到目录下,分别取名redis9000.conf、 redis9001.conf、 redis9002.conf.如下图所示:

我们先来修改第一个配置文件,主要修改的有5个地方,端口、守护进程启动、工作目录、pid文件、日志文件、以及RDB文件,具体的信息修改如下图所示:

   

 

好了,我们将上述的三个文件分别修改成9000、9001、9002三个,到时候服务启动的端口分别就是这几个。配置完成之后我们依次启动上述三个实例,启动后可以使用ps命令查看一下是否启动成功。

 

启动成功之后我们可以登录到9000的服务, 我们使用info replication命令查看一下主从关系

同样的,我们再登上另外两个也看看,如下图所示:

 

         

 

我们发现了一个问题,他们都把自己当成了主节点,因此我们在这里需要指定一下具体的 主从关系,我们分别再9001和9002这两个服务上执行下面这条命令,

   

接下来我们,我们来看一下9000这个服务。

我们发现这个时候9001和9002已经成了9000这个服务的从节点了,到这里我们的集群已经初步搭建完毕了。下面我们来试试怎么去写入数据。首秀按我们在主节点上写入数据:

接着我们在两个从节点上读数据试试:

                   

我们发现在主节点上写入的数据都可以查到,初步的主从复制功能至此搭建完毕。好了我们接下来看一下 如果主节点突然挂掉了,那么两个从节点该怎么办呢?首先我们来将主节点shutdown掉

  

接着我们再来 启动一下9000服务,然后查了看一下信息:

     

我们可以看到,master_link_status变成了up   这个时候就是主节点已经启动了。 我们从这里可以知道两个从节点对主节点是非常忠诚的,即便主节点死了,他们还在默默的守候着主节点复活。接下来我们看看如果从节点挂掉了一个之后会发生什么事。

我们先来停掉一个从节点,

我们查看主节点上的信息 发现之剩下一个从节点了,这个时候我们再来把刚才关掉的从节点启动,再来看看他的信息

我们发现他变成了自己的主节点,我们在接着在主节点中添加一条数据试试,

      

我们发现9001并没有同步该数据,这个时候我们就需要在配置一下9001的主从关系,我们继续在9001下指定一个主节点,

我们再查看数据,发现数据已经可以正常的读取了。好了上面的就是Redis主从复制的特点。最后Redis还有一个机制,叫做哨兵模式。但是现在已经很少在使用了,基本都是通过脚本去监测主节点的运行状态了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值