码迷,mamicode.com
首页 > 其他好文 > 详细

redis缓存架构-03-redis下的replication以及master+slave

时间:2018-07-18 20:36:53      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:主从复制   ima   扩容   image   其他   节点   png   syn   建议   

1.master和slave的读写分离(水平扩容支持读高并发)

  技术分享图片

2.master主从复制流程

  master开始复制给slave前的认证流程

    技术分享图片

    master向slave复制流程

  技术分享图片

  2.1 无磁盘化复制配置

    repl-diskless-sync yes #开启无磁盘化复制

    repl-diskless-sync-delay 5 #等待一定时间,看是否有其他的slave进行连接,然后进行复制

  2.2 断点续传

    master和slave节点会创建一个backlog,用来存储replica offset和master id,如果断网后重新连接,slave会让master从上次的replica offset开始继续复制,但是如果没有找到对应的offset,就会进行一次全量复制。

    slave会每秒上报自己的offset给master,master也会保存每个slave的offset。

  2.3 过期key的处理

    slave不会过期key,只会等待master过期key。

    如果master过期了key,或者通过LRU淘汰了key,那么master会模拟发送一条del命令给slave。

  2.4 建议必须开启master的持久化,不能采用slave的备份数据作为master的数据热备

    1)可能在master宕机时还没有数据,一旦重启,会将所有的slave数据清空

  2.5 master run id

    可以通过 info server,查看master的run id 

    slave会根据run id 定位master,如果run id 发生了变化,就会进行全量复制。

    redis 每次重启都会改变run id ,可以通过redis-cli debug reload命令来限制run id的修改。

    

 

redis缓存架构-03-redis下的replication以及master+slave

标签:主从复制   ima   扩容   image   其他   节点   png   syn   建议   

原文地址:https://www.cnblogs.com/lifeone/p/9330293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!