主从复制

本文详细介绍了Redis主从复制的原理、工作流程及常见问题。主从复制旨在实现高可用性和数据冗余,包括建立连接、数据同步和命令传播三个阶段。常见问题包括频繁全量复制、网络中断导致的数据不一致,可以通过优化复制缓冲区大小和调整网络参数来解决。
摘要由CSDN通过智能技术生成

2.主从复制

2.1 主从复制简介

2.1.1 高可用

首先我们要理解互联网应用因为其独有的特性我们演化出的三高架构

  • 高并发

    应用要提供某一业务要能支持很多客户端同时访问的能力,我们称为并发,高并发意思就很明确了

  • 高性能

    性能带给我们最直观的感受就是:速度快,时间短

  • 高可用

可用性:一年中应用服务正常运行的时间占全年时间的百分比,如下图:表示了应用服务在全年宕机的时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aP7ktmDz-1616685963517)(./img/5.png)]

我们把这些时间加在一起就是全年应用服务不可用的时间,然后我们可以得到应用服务全年可用的时间

4小时27分15秒+11分36秒+2分16秒=4小时41分7秒=16867秒

1年=3652460*60=31536000秒

可用性=(31536000-16867)/31536000*100%=99.9465151%

业界可用性目标5个9,即99.999%,即服务器年宕机时长低于315秒,约5.25分钟

2.1.2 主从复制概念

知道了三高的概念之后,我们想:你的“Redis”是否高可用?那我们要来分析单机redis的风险与问题

问题1.机器故障

  • 现象:硬盘故障、系统崩溃
  • 本质:数据丢失,很可能对业务造成灾难性打击
  • 结论:基本上会放弃使用redis.

问题2.容量瓶颈

  • 现象:内存不足,从16G升级到64G,从64G升级到128G,无限升级内存
  • 本质:穷,硬件条件跟不上
  • 结论:放弃使用redis

结论:

为了避免单点Redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。

多台服务器连接方案:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jgb3o7MR-1616685963519)(./img/6.png)]

  • 提供数据方:master

主服务器,主节点,主库主客户端

  • 接收数据方:slave

从服务器,从节点,从库

从客户端

  • 需要解决的问题:

数据同步(master的数据复制到slave中)

这里我们可以来解释主从复制的概念:

概念:主从复制即将master中的数据即时、有效的复制到slave中

特征:一个master可以拥有多个slave,一个slave只对应一个master

职责:master和slave各自的职责不一样

master:

写数据

执行写操作时,将出现变化的数据自动同步到slave

读数据(可忽略)

slave:

读数据

写数据(禁止)
2.1.3 主从复制的作用
  • 读写分离:master写、slave读,提高服务器的读写负载能力
  • 负载均衡:基于主从结构,配合读写分离,由slave分担master负载,并根据需求的变化,改变slave的数 量,通过多个从节点分担数据读取负载,大大提高Re
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值