Redis集群之主从模式

说起redis有很多的使用场景,如缓存、队列、顺序排列、发布订阅、定位缓存等等,日常中大多使用redis做高速缓存以及分布式锁,那么我们需要如何保证redis的高可用呢?答案是>>集群模式。

大家都知道redis集群有三种模式:

1、主从模式

2、sentnal哨兵模式

3、cluster模式

今天我们先就主从模式做简单总结。

1、reids主从模式原理图

在这里插入图片描述

2、redis主从模式复制原理

在这里插入图片描述

redis 的复制分为两部分操作 同步(SYNC)和 命令传播(command propagate)

同步(SYNC)用来将从服务器的状态 更新到 和主服务器 一致。就是从服务器主动获取 主服务器的数据。保持数据一致。具体实现是,主服务器收到SYNC命令后,生成RDB快照文件,然后发送给从服务器。

命令传播 (command propagate)用于在主服务器数据被修改后,主从不一致,为了让从服务器保持和主服务器状态一致,而做的命令传播。就是主服务器收到客户端修改数据命令后,数据库数据发生变化,同时将命令缓存起来,然后将缓存命令发送到从服务器,从服务器通过载入缓存命令来达到主从数据一致。这就是所谓的命令传播。

为什么需要有同步和命令传播的两种复制操作:当只有同步操作时候,那么在从服务器向主服务器发送SYNC命令时候,主服务器在生成RDB快照文件时候,仍然会收到客户端的命令修改数据状态,这部分数据如果不能传达给从服务器,那么就会出现主从数据不一致的现象。这时候就出现了命令传播,主服务器收到从服务器的SYNC命令后,生成RDB快照文件同时,将此段时间内收到的命令缓存起来,然后使用命令传播的操作发送从服务器。来达到主从数据一致。

3、redis主从复制优缺点

优点:

1、实现读写分离,提高了可用性,解决了单机故障

2、主从复制期间master和slave都是非阻塞方式,仍然可用。

缺点:

1、master宕机期间,需要手动切换主机,同时会有部分数据不能及时同步从服务器,造成数据不一致(需要人工手动介入)

2、slave宕机后,多个slave恢复后,大量的SYNC同步会造成master IO压力倍增(可以手动规避启动时间)

3、在线扩容较复杂。

寄语:主从模式的Sync同步操作主要是从节点拉取主节点RDB快照实现同步数据,Command Propagate命令传播则是解决从节点同步主节点非阻塞产生的新数据的不一致问题,这部分主节点的缓存命令会发送到从节点从而实现数据一致性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Redis集群主从复制是两种不同的架构模式,它们的区别如下: 1. 数据复制方式: - 主从复制:一个Redis实例作为主节点,其余实例作为从节点。主节点将写入的数据同步复制给从节点,从节点只能读取数据,不能写入。主节点负责处理写入请求和同步数据给从节点,从节点负责读取请求。 - Redis集群Redis集群将数据分片存储在多个节点上,每个节点负责存储和处理部分数据。每个节点都是对等的,可以处理读写请求。 2. 高可用性: - 主从复制:主节点故障时,可以选择一个从节点升级为主节点继续提供服务。但是,主节点故障期间可能会有数据丢失。 - Redis集群Redis集群通过数据分片和复制在多个节点之间实现高可用性。当某个节点故障时,集群可以自动将该节点上的数据迁移到其他健康的节点。 3. 可伸缩性: - 主从复制:当需要扩展读取能力时,可以添加更多的从节点。但是写入请求仍然由主节点处理,主节点成为瓶颈。 - Redis集群Redis集群可以水平扩展,通过添加更多的节点来提高读写能力。 4. 部署复杂性: - 主从复制:主从复制部署相对简单,只需配置主从关系并启动相应的实例即可。 - Redis集群Redis集群的部署相对复杂,需要对数据进行分片,配置和管理多个节点。 综上所述,主从复制适用于读多写少的场景,并且在部署和管理上相对简单。Redis集群适用于需要高可用性和可伸缩性的场景,但在部署和管理上相对复杂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小沈同学呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值