Redis主从复制

来源:互联网 发布:广州易幻网络 编辑:程序博客网 时间:2024/06/16 09:01

       Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构Redis主从复制是redis持久化的一种方式。


     配置配置起来相当的简单,两台服务器一个作为Master

       Master的redis.conf中的配置为

              bind  192.168.21.26

              port   6379

       Slave的redis.conf中的配置为

              bind  192.168.21.15

              port   6379

              slaveof  192.168.21.26  6379

      启动服务之后Slave中就会有Master中的数据。


     执行原理:第一次Slave向Master同步的实现是:Slave向Master发出同步请求,Master先dump出rdb文件,然后将rdb文件全量传输给slave,然后Master把缓存的命令转发给Slave,初次同步完成。第二次以及以后的同步实现是:Master将变量的快照直接实时依次发送给各个Slave。不管什么原因导致Slave和Master断开重连都会重复以上过程。Redis的主从复制是建立在内存快照的持久化基础上,只要有Slave就一定会有内存快照发生。虽然Redis宣称主从复制无阻塞,但由于Redis使用单线程服务,如果Master快照文件比较大,那么第一次全量传输会耗费比较长时间,且文件传输过程中Master可能无法提供服务,也就是说服务会中断 。

     


    缺陷:
      每次salave断开后,(无论是主动断开,还是网络故障)再连接master都要master全部dump出来rdb,再aof,即同步的过程都要重新执行1遍.所要当---多台slave一下都启动起来,时master的iO剧增。

1 0
原创粉丝点击