Redis集群 -- 主从

Redis主从

 

特点

 

    1. 主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的sort,就可以由从数据库来承担       2. 主从同步是异步进行的,这意味着主从同步不影响主逻辑,也不会降低redis的性能       3. 主从架构中,可以关闭主服务器的数据持久化功能,只让从服务器做持久化,这样提高主服务器的处理性能       4. 主从架构中,从服务器通常被设置为制度模式,这样可以避免从服务器的数据被误修改。但是从服务器还可以接收config指令,所以不应该将从服务器直接暴漏在不安全的网络环境中。如果必须如此,可以考虑给重要指令重命名,来避免命令被外人误执行

 

 

 

主从同步的好处

 

  • 读写分离,分担压力
  • 以防万一,主数据库down掉了,可以从数据库顶上

 

 

主从同步种类

 

  • 全量同步
  • 增量同步

 

 

全量同步

一般发生在Slave的初始化阶段,这时,Slave需要将Master上的所有数据都复制一份

 

步骤

    1. 从数据库链接主数据库服务器,发送SYNC命令

    2. 主服务器收到SYNC命令,开始执行BGSAVE命令,生成rdb文件并使用缓冲区记录此后执行的所有命令

    3. 主服务器执行完BGSAVE后,向从服务器发送快照文件,并在发送期间继续在缓冲区记录命令

    4. 从服务器收到快照文件后,丢弃所有旧数据,载入收到的快照

    5. 主服务器把快照发送完后,开始向从服务器发送缓冲区中的写命令

    6. 从服务器完成快照的载入后,开始接收命令的请求,并执行来自主服务器缓冲区的写命令

 

 

 

增量同步

指Slave初始化后开始正常工作时,主服务器发生的写操作同步到从服务器的过程

 

步骤

    1. 主服务器执行一条写命令,就会向从服务器发送相同的写命令

    2. 从服务器接收并执行收到的写命令

 

 

主从同步策略

 

       主从刚刚连接时,进行全量同步,同步结束后进行增量同步。同样,如果有需要,Slave在任何时候都可以发起全量同步。redis的策略是,首先尝试增量同步,如果不成功再进行增量同步。

 

 

主从配置

Redis主从结构支持一主多从

主节点:192.168.33.130

从节点:192.168.33.131

注意:所有从节点的配置都一样

 

方式1:手动修改配置文件

只需要额外修改从节点中redis的配置文件中的slaveof属性即可

slaveof 192.168.33.130 6379  



 

1、192.168.33.130主机:启动130主节点上面的redis,查看redis的info信息



 

2、192.168.33.131主机:启动131从节点上面的redis,查看redis的info信息



 

方式2:动态设置

通过redis-cli 连接到从节点服务器,执行下面命令即可。

slaveof 192.168.33.130 6379

演示结果和手动方式一致。

注意事项

1. 如果你使用主从复制,那么要确保你的master激活了持久化,或者确保它不会在当掉后自动重启。

原因:

slave是master的完整备份,因此如果master通过一个空数据集重启,slave也会被清掉。

 

2. 在配置redis复制功能的时候如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码,这样从数据库在连接主数据库时就会自动使用auth命令认证了。相当于做了一个免密码登录。

参考

http://blog.csdn.net/u011204847/article/details/51307044

猜你喜欢

转载自youyu4.iteye.com/blog/2342868