IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 主从复制 -> 正文阅读

[大数据]Redis 主从复制

概念

Redis主从复制,参与复制的Redis实例分为主节点和从节点。以一主多从的模式建立分布系统,是redis搭建高可用集群的基础,为容错故障转移提供支持

配置

默认情况下,Redis都是主节点。

每个从节点只能有一个主节点,而主节点可以同时具有多个从节点。

建立复制

配置从节点的方法

  1. 在配置文件中加入 slaveof {masterHost} {masterPort}
  2. 启动命令+参数, redis-server --slaveof {masterHost} {masterPort}
  3. 直接命令,slaveof {masterHost} {masterPort}

查看节点复制相关状态

info replication

断开复制

断开复制 slaveof no one,断开后从节点晋升为主节点

切主操作 slaveof {newMasterIP} {newMasterPort}

安全性

当主节点设置requirepass参数进行密码验证时,从节点需配置masterauth参数与主节点密码保持一致

只读

从节点使用slave-read-only=yes 配置为只读模式

传输延迟

主从节点部署在不同机器上,复制时的网络延迟就成为需要考虑的问题。

repl-disable-tcp-nodelay参数用于控制是否关闭tcp-delay

  • 当关闭时,主节点产生的命令数据无论大小都会及时发送给从节点,这样主从之间延迟会变小,但增加了网络带宽的消耗
  • 当开启时,主节点会合并较小的TCP数据包从而节省宽带。默认发送时间间隔取决于linux内核,一般默认为40毫秒。

原理

复制过程

  1. 保存主节点信息:保存地址信息,命令返回
  2. 建立连接,ping,权限验证
  3. 数据同步: 分为两种:全量复制、部分复制
  4. 命令持续复制:主节点持续将写入命令发送给从节点,保证主从一致性

数据同步

redis 同步有 2 个命令:

sync 和 psync,前者是 redis 2.8 之前的同步命令,后者是 redis 2.8 为了优化 sync 新设计的命令。我们会重点关注 2.8 的 psync 命令。

psync 命令需要 3 个组件支持:

  1. 主从节点各自复制偏移量
  2. 主节点复制积压缓冲区
  3. 主节点运行 ID

psync流程

repl

如果回复+FULLRESYNC, 那么从节点触发全量复制流程

如果回复+CONTINUE,从节点将触发部分复制流程

全量复制

1651711604850

部分复制

1651711420665

心跳

主节点默认每隔10秒对从节点发送ping命令

从节点在主线程中每隔1秒发送replconf ack {offset}, 给主节点上报自生当前复制偏移量

异步复制

写命令的发送过程是异步完成,也就是说主节点自身处理完写命令后直接返回给客户端,并不等待从节点复制完成

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:06:45  更:2022-05-06 11:08:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:52:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码