NoSQL——Redis主从复制

NoSQL——Redis主从复制

一、Redis的主从复制

        概念:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slaver以读为主。

NoSQL——Redis主从复制

二、Redis主从复制的功能

      1.读写分离

      2.容灾恢复

三、如何配置

       1.拷贝多个redis.conf文件

NoSQL——Redis主从复制

       2.redis.conf拷贝复制

       现在我们拷贝了三个redis实例,接下来要开启daemonize (yes)

       NoSQL——Redis主从复制

       NoSQL——Redis主从复制

       NoSQL——Redis主从复制  

       将三个实例都按照以上方法改成对应的,名字和端口

       3.启动三个实例

NoSQL——Redis主从复制

      配从不配主

      (1)一主二从

NoSQL——Redis主从复制

 

NoSQL——Redis主从复制

NoSQL——Redis主从复制

 

如果主机挂掉,那么从机只是等待

NoSQL——Redis主从复制

NoSQL——Redis主从复制

每次与master断开之后,都需要重新连接,那么怎么解决?直接配置到redis.conf文件。

     (2)“挂载模式” (三台机器可以传递)

       NoSQL——Redis主从复制

        (3)如果主机挂掉那么如何解决?

           SLAVEOF no one :使当前数据库停止与其他数据库同步,转成主数据库

NoSQL——Redis主从复制

问题又来了,如果故障出在,半夜怎么办?还有主机恢复了和其他两个机器又有什么关系?

    (4)哨兵模式(生产)

      能够后台监听故障,一但主机挂掉,立即投票自动将从机转为主机。

      步骤:

              步骤1:自定义的/myredis目录下新建sentinel.conf文件(名字不能错),用于配置哨兵模式,sentinel monitor 被监控数据库名字(自定义名字)127.0.0.1 6379 1 (1:投票数,表示主机挂掉后salve投票看让谁替换为主机,得票数多成为主机)

              例如:sentinel monitor host6379 127.0.0.1 6379 1

NoSQL——Redis主从复制

             步骤2:启动哨兵Redis-sentinel /myredis/sentinel.conf(根据实际情况配置,可能目录不同)

NoSQL——Redis主从复制

NoSQL——Redis主从复制

             步骤3:将6379停掉,模拟主机挂掉,此时哨兵开始轮询投票

NoSQL——Redis主从复制

           步骤4:查看主从机信息

NoSQL——Redis主从复制

NoSQL——Redis主从复制

* 一个哨兵模式可以监控多个主机,可以在文件中指定。

* 生产上主从复制可能会出现复制延迟,不可避免。