第六章、Redis主从架构(实现读写分离)

主从架构数据传送流程:

1、启动一slave

2、slave会向master发送同步命令,请求主库上的数据,不论从是第一次连接,还是非第一次连接,master此时都会启动一个后台的子进程将数据快照保存在数据文件中,然后把数据文件发送给slave

3、slave收到数据文件 以后会保存到本地,而后把文件重载装入内存

主从配置文件:

Redis主从配置很简单,配置Slave节点就可以了,主节点默认是开启的。

老旧点版本的配置:

直接在从节点上配置,修改配置文件以下三行:

######## REPLICATION #######配置主从相关
# slaveof <masterip> <masterport>  #此项不启用时,则为主,如果启动则为从,但是需要指明主服务器的IP,端口
slaveof 192.168.3.71 6379
# masterauth <master-password>      #如果主服务设置了密码认证,那么从的则需要启用此项并指明主的认证密码
masterauth longtao
slave-read-only yes    #定义从服务对主服务是否为只读(仅复制)

新点版本的配置:(Redisv6.2.5)

# 477行  replicaof <masterip> <masterport>
replicaof 192.168.3.71 6379
# masterauth <master-password>
masterauth longtao
replica-read-only yes

重启与测试:

在主库查看:

redis-cli -a longtao
127.0.0.1:6379> info
……
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.3.72,port=6379,state=online,offset=112,lag=0

在从库上可以看到

127.0.0.1:6379> info
……
# Replication
role:slave
master_host:192.168.3.71
master_port:6379
master_link_status:up

主从其他相关配置:

slave-serve-stale-data yes   
# 表示当主服务器不可以用时,则无法判定数据是否过期,此时从服务器仍然接收到读请求时,yes表示仍然响应(继续使用过期数据)
slave-read-only yes    
# 启用slave时,该服务器是否为只读
repl-diskless-sync no    
# 是否基于diskless机制进行sync操作,一般情况下如果disk比较慢,网络带宽比较大时,在做复制时,此项可以改为Yes
repl-diskless-sync-delay 5    
# 指定在slave下同步数据到磁盘的延迟时间,默认为5秒,0表示不延迟
slave-priority 100    
# 指定slave优先级,如果有多个slave时,哪一个slave优先级高的将优先被同步
# min-slaves-to-write 3    
# 此项表示在主从复制模式当中,如果给主服务器配置了多个从服务器时,如果在从服务器少于3个时,那么主服务器将拒绝接收写请求,从服务器不能少于该项的指定值,主服务器才能正常接收用户的写请求
# min-slaves-max-lag 10    
# 表示从服务器与主服务器的时差不能够相差于10秒钟以上,否则写操作将拒绝进行

注意:如果master使用requirepass开启了认证功能,从服务器要使用masterauth <PASSWORD>来连入服务请求使用此密码进行认证;

版权声明:
作者:WaterBear
链接:https://l-t.top/1974.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>