前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis主从 部署和配置---主从介绍

Redis主从 部署和配置---主从介绍

原创
作者头像
陈不成i
修改2021-05-21 14:28:10
1.1K0
修改2021-05-21 14:28:10
举报
文章被收录于专栏:ops技术分享

一.主从简介

主从介绍

Redis都是主节点。每个从节点只能有一个主节点,而主节点可以同时具有多个从节点,复制的数据流是单向的。

作用: 1.将一直备份主节点数据,当主节点挂掉,可以顶替主提供服务 2.将扩展主节点的读能力,做读写分离,分担压力

问题: 主故障,需要手动切换到从节点进行读写 主节点的存储能力,读写能力都受到单机限制,始终是一个单机

一主一从,如果要高并发,可以在从节点开启持久化,主节点不开启。但要注意主节点如果死掉,不要自动重启,否则数据是空的,会让从也同步为空。

一主多从,用于写少读多场景。不过如果是写多的就不适合了,那会导致将一个写操作同步到多个从,消耗带宽。

树状图,用于有钱的公司。一主2从,其中一个从又当主,下面又有2从。这样多级复制,多写并发高也没问题。

主从原理

slaveof本身是异步命令,节点只保存主节点信息后返回,后续复制流程在节点内部异步执行。主从节点复制成功建立后,可以使用info replication命令查看复制相关状态, 如下所示。

切换主从会清空从节点所有数据,从节点应配置为只读。主从复制间是异步的,主接到请求完成和复制给从是不相关的。主从要求配置一致,例如内存之类的。

过程:

  1. 保存从节点信息
  2. 主从建立sock连接
  3. 发送ping命令,如果堵塞或者没回应,会过段时间再发送
  4. 权限验证,如果主设置了密码,要发送账号密码
  5. 同步数据,如果中途有问题导致失败,将会部分同步,而不是删除当前数据从新同步
  6. 数据持续复制

偏移量

  1. redis主节点在写入数据时会记录字节长度,在info replication命令中master_repl_offset字段显示
  2. 在从节点info relication中的slave_repl_offset中可以看到从写入的字节长度。
  3. 可以对比主从的字节长度查看同步差异。

缓冲区 主节点在写入时除了发送给从,自己执行,还将添加到复制缓冲区,用于数据有问题进行补救。先进先出,只保存最新的几个。 info replication

  1. repl_backlog_active:1 #开启复制缓冲区
  2. repl_backlog_size:1048576 #缓冲区最大长度
  3. repl_backlog_first_byte_offset:7479 #起始偏移量,计算当前缓冲区可用范围
  4. repl_backlog_histlen:1048576 #已保存数据的有效长度。

id节点

每个节点分配一个40位的运行id,用于区分。重启后id号将变化,导致从节点全量复制。可以在重启后用redis-cli debug reload命令加载RDB,使得id号不变

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.主从简介
    • 主从介绍
      • 主从原理
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档