redis集群主从复制

0 阅读1分钟

一般来说当有redis集群的时候,可以有一主一从和一主多从;
主库可以做写和读的操作,而从库一般只做读的操作,这也是读写分离的一个最初模型;

redis集群的搭建,不会要求强一致性,只会要求为弱一致性,但要求最终一致性;(允许短暂的主从库的数据不同步,但是最终的数据一定是同步的)

主从复制: 就是主库中的dml操作会被同步到从库中,但是需要一定的时间,不会立即同步,主从复制即主库的数据复制到从库;

一主一从配置: 打开从库redis 的 redis.conf文件中配置同步主库节点(slaveof) 的ip 和 端口,密码等连接重要信息
配置好之后,从库会和主库建立一个长连接;首次启动从库的时候,(dump)会全量将主库的数据同步到从库中,而启动之后,则为(AOF)增量同步;

当为一主多从配置的时候,为什么选择"二叉树"的模式配置呢?
因为,一主当有写入操作,如果从库还是都配置到一主上,那么每次同步数据对主库压力太大了,而采用二叉树的形式配置,就极大的减轻了主从复制的时候主库的压力了;
即 当A 为主库 B C D 为从库的时候,我们应该这样配置
B 的 主库节点 配置为A
C D 的主库节点 配置为 B

但是B不是真正的主,而是从的节点,他也只做读操作;

==================有了以上的原理基础,那么去配置redis 的主从配置思路就清晰很多了=========================

打开从库redis的配置文件redis.conf 中搜索

vi redis.conf
/masterport

# replicaof <masterip> <masterport>
# masterauth <master-password>

找到之后,在下面新建行加上slaveof ip 端口(主库的) 
如果有密码继续,找到下面的 masterauth 在下面新建行加上 masterauth 密码 (将密码改为 主库密码)
删除# 打开注释  保存
关闭主从防火墙(因为从库要和主库建立长连接)
重启两台redis服务,就ok 了

启动成功后,在从库中是无法做写操作的,然后在主库中写入数据,可以再从库中查询到,也就是读写分离了,主从配置完毕

主从复制的问题: 如果主节点挂掉,那么会导致整个redis服务不能实现写的操作,那么需要重新配置新的主库,然后才能恢复;

本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。