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的修改。

  2.6 全量复制

    1)master将生成的rdb发送给slave,如果复制时间超过了60s,那么slave就会认为复制失败。可以通过调节repl-timeout 60这个参数进行调整

    2)client-output-buffer-limit slave 256MB 64MB 60   #在复制过程中,如果内存缓冲区持续60秒超过64MB,或者瞬间超过256MB,那么就停止复制,复制失败。

    

redis缓存架构-03-redis下的replication以及master+slave的更多相关文章

  1. 【Azure Redis 缓存】Azure Redis功能性讨论

    关于使用Azure Redis服务在以下九大方面的功能性的解说: 高可用 备份可靠性 配置自动化 部署多样性 快速回档功能 数据扩容 SLA稳定性 数据安全性 监控系统 一:高可用 Azure Cac ...

  2. 【Azure Redis 缓存】Azure Redis 功能性讨论二

    继承上一次讨论了Azure Redis的可用性,可靠性,稳定性,安全性,监控方面的九大功能点.详情可回顾文章:[Azure Redis 缓存]Azure Redis功能性讨论 这次我们继续讨论Azur ...

  3. C#版-Redis缓存服务器在Windows下的使用

    Redis缓存服务器是一款key/value数据库,读110000次/s,写81000次/s,因为是内存操作所以速度飞快,常见用法是存用户token.短信验证码等 官网显示Redis本身并没有Wind ...

  4. redis缓存架构-02-两种持久化机制(RDB和AOF)

    1.两种持久化机制的介绍 1.1 RDB 周期性的生成redis内存数据的一份完整的快照 1)根据配置的检查点,生产rdb快照文件,fork一个子线程,将数据dump到rdb快照文件中,完成rdb文件 ...

  5. 【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG

    问题描述 在Azure Redis的门户页面中,通过Redis Console连接到Redis后,想通过CONFIG命令来配置Redis,但是系统提示CONFIG命令不能用. 错误消息为:(error ...

  6. Redis缓存 ava-Jedis操作Redis,基本操作以及 实现对象保存

    源代码下载: http://download.csdn.net/detail/jiangtao_st/7623113 1.Maven配置 <dependency> <groupId& ...

  7. 【Azure Redis 缓存】Azure Redis出现了超时问题后,记录一步一步的排查出异常的客户端连接和所执行命令的步骤

    问题描述 Azure Redis在使用的过程中,多次无规律的出现超时问题.抓取到客户端的异常错误后,想进一步的分析是何原因导致了如下异常呢? Timeout awaiting response (ou ...

  8. redis主从架构及redis集群

    https://redis.io/topics/cluster-spec Redis Cluster does not support multiple databases like the stan ...

  9. redis缓存架构-01-缓存架构方案

    缓存实现架构 1.小型电商-页面静态化(基于url rewrite) 2.大型电商

随机推荐

  1. Maven生成可以直接运行的jar包的多种方式(转)

    转自:https://blog.csdn.net/xiao__gui/article/details/47341385 Maven可以使用mvn package指令对项目进行打包,如果使用java - ...

  2. split 分割文件

    1.命令功能 split将文件分割成多个碎片文件. 2.语法格式 split  option  input  prefix split  选项    输入文件名   输出文件名前缀 参数说明 参数 参 ...

  3. java 生成时机时间

    import java.text.SimpleDateFormat;  import java.util.Date;  import java.util.Random;  public class t ...

  4. FM

    1.FM (因子分解机) 2.FM的作用: (1)特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接进行建模,很可能会忽略掉特征与特征之间的关联信息,因此,可以通过构建新的交叉特征这一特征组合 ...

  5. 剖析 Vue.js 内部运行机制 (1)

    1. new Vue() 之后. Vue 会调用 _init 函数进行初始化,也就是这里的 init 过程,它会初始化生命周 期.事件. props. methods. data. computed ...

  6. App.after

    解释: App.after可以增加APP级的切面,触发的时机是在所拦截的对应生命周期方法执行之后. 方法参数:Object Object 参数说明: 参数名 类型 必填 默认值 说明 methods ...

  7. BZOJ 1597: [Usaco2008 Mar]土地购买 动态规划 + 斜率优化

    Code: #include<bits/stdc++.h> #define maxn 1000000 #define ll long long #define x(i) (b[i+1]) ...

  8. [USACO17JAN]Balanced Photo平衡的照片 (树状数组)

    题目链接 Solution 先离散化,然后开一个大小为 \(100000\) 的树状数组记录前面出现过的数. 然后查询 \((h[i],n]\) 即可. 还要前后各做一遍. Code #include ...

  9. 【Java】java.sql.SQLDataException: Cannot determine value type from string

    报错如下: There was an unexpected error (type=Internal Server Error, status=500). Error attempting to ge ...

  10. 和风api爬取天气预报数据

    ''' 和风api爬取天气预报数据 目标:https://free-api.heweather.net/s6/weather/forecast?key=cc33b9a52d6e48de85247779 ...