美文网首页
Redis主从模式、哨兵模式以及Cluster 集群模式

Redis主从模式、哨兵模式以及Cluster 集群模式

作者: 倚仗听江 | 来源:发表于2020-12-23 22:13 被阅读0次

一、主从模式

主从模式指的是使用一个Redis实例作为主机,其余的实例作为备份机。一般来说主节点负责写请求,从节点负责读请求,主节点异步的同步给从节点。主节点和从节点保存的数据是相同的,但是因为同步,从节点的数据会有一点延迟。但是主从模式的高可用会有问题。因为主节点挂了之后是没有自动选主机制的,需要人工干预来指定一个从节点作为主节点。


主从模式.png

二、哨兵模式

为了解决主从模式不能高可用的问题,哨兵模式就出现了。哨兵模式就是在主从模式的基础上再加一个哨兵集群。每个哨兵都会监控主节点和从节点的状态。如果主节点挂了,就会从从节点中选出一个来作为主节点,以达到高可用的目的。(也就是有了自动选主机制)


哨兵机制.png

哨兵模式工作原理

哨兵集群中的每个节点都会启动三个定时任务

  • 第一个定时任务: 每个sentinel节点每隔1s向所有的master、slaver、别的sentinel节点发送一个PING命令。作用:心跳检测

    心跳检测.png
  • 第二个定时任务: 每个sentinel每隔2s都会向master的sentinel:hello这个channel中发送自己掌握的集群信息和自己的一些信息(比如host,ip,run id),这个是利用redis的pub/sub功能,每个sentinel节点都会订阅这个channel,也就是说,每个sentinel节点都可以知道别的sentinel节点掌握的集群信息。作用:信息交换,了解别的sentinel的信息和他们对于主节点的判断

    信息交换.png
  • 第三个定时任务: 每个sentinel节点每隔10s都会向master和slaver发送INFO命令。作用:发现最新的集群拓扑结构

    发现最新的集群拓扑结构.png

如果一个 实例(instance)距离最后一次有效回复 PING命令的时间超过 down-after-milliseconds 所指定的值,那么这个实例会被 Sentinel标记为 主观下线

如果一个 主服务器 被标记为主观下线,那么正在 监视 这个主服务器的所有 Sentinel 节点,要以 每秒一次的频率确认 该主服务器是否的确进入了主观下线状态。

如果一个主服务器 被标记为主观下线,并且有 足够数量的 Sentinel(至少要达到配置文件指定的数量)在指定的 时间范围 内同意这一判断,那么这个该主服务器被标记为 客观下线。
哨兵模式解决了故障不能自动恢复的问题,但仍存在的问题是:Redis较难支持在线扩容,对于集群,容量达到上限时在线扩容会变得很复杂

三、Cluster 集群模式

  1. 自动将数据进行分片,每个master上放一部分数据。
  2. 提供了内置的高可用支持,部分master不可用的时候,仍能继续工作。

Redis Cluster采用虚拟槽分区,所有的键按照哈希函数映射到0~16383槽中,每个Redis节点维护部分槽和槽中的数据。

image.png
image.png

相关文章

  • redis 主从模式、哨兵(sentinel) 配置、clust

    前言:先了解一下redis主从模式、哨兵模式、cluster(集群)模式 1、主从模式:是三种集群方式里最简单的。...

  • Redis集群部署

    Redis集群部署 Redis集群有多种部署模式,包括主从模式、哨兵模式、集群模式 主从模式   主从模式可以是一...

  • 基于Redis集群方案的调研及思考

    Redis集群方案 官方主从模式哨兵模式Redis Cluster 社区Codis(豌豆荚团队开源)Twempro...

  • 【redis】Redis-Cluster集群模式

    redis最开始使用主从模式做集群;后来为了高可用提出来哨兵模式;演变出cluster集群模式,此模式是redis...

  • redis 集群模式

    redis集群模式有3种: 主从模式 哨兵模式 Cluster模式 下面就分别介绍一下这3中模式: 1.主从模式 ...

  • Redis主从模式、哨兵模式以及Cluster 集群模式

    一、主从模式 主从模式指的是使用一个Redis实例作为主机,其余的实例作为备份机。一般来说主节点负责写请求,从节点...

  • 在Kubernetes上部署Redis集群

    Redis的分布式模式有主从模式、哨兵模式和Cluster模式,相对来说Cluster模式的机制更完善,内存利用率...

  • 第五章----Redis三种集群详解

    Redis集群的三种模式 主从复制(master/slave) 哨兵模式(sentinel) 集群模式(clust...

  • Redis集群

    Redis有三种集群模式,分别是: 主从复制 Sentinel模式 Cluster模式 主从复制 主从模式,是指将...

  • redis学习

    redis的三种模式 主从模式 哨兵模式默认端口 26379 集群模式 参考文章 redis sential命令集合

网友评论

      本文标题:Redis主从模式、哨兵模式以及Cluster 集群模式

      本文链接:https://www.haomeiwen.com/subject/qqienktx.html