首页 > 数据库 >Redis主从及哨兵及集群相关介绍

Redis主从及哨兵及集群相关介绍

时间:2023-09-29 18:46:19浏览次数:47  
标签:Redis 模式 主从 集群 哨兵 节点

主从模式

image

为了避免单点故障 和 读写不分离,Redis 提供了复制(replication)功能,master数据库中的数据更新后,会自动将更新的数据同步到其他slave数据库上。

  1. 优点: 主从结构具有读写分离,提高效率、数据备份,提供多个副本等优点。
  2. 不足: 大的不足就是主从模式不具备自动容错和恢复功能,主节点故障,集群则无法进行工作,可用性比较低,从节点升主节点需要人工手动干预。

哨兵模式

image

image

第一种主从同步/复制的模式,当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用,这时候就需要哨兵模式登场了。哨兵模式核心还是主从复制,只不过在相对于主从模式在主节点宕机导致不可写的情况下,多了一个竞选机制:从所有的从节点中竞选出新的主节点。竞选机制的实现,依赖于在系统中启动一个sentinel进程。

  1. 哨兵模式的作用:
    监控所有服务器是否正常运行:通过发送命令返回监控服务器的运行状态,处理监控主服务器、从服务器外,哨兵之间也相互监控。
    故障切换:当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换master。同时那台有问题的旧主也会变为新主的从,也就是说当旧的主即使恢复时,并不会恢复原来的主身份,而是作为新主的一个从。

  2. 优点
    哨兵模式是基于主从模式的,解决主从模式中master故障不可以自动切换的问题。

  3. 不足
    是一种中心化的集群实现方案:始终只有一个Redis主机来接收和处理写请求,写操作受单机瓶颈影响。
    集群里所有节点保存的都是全量数据,浪费内存空间,没有真正实现分布式存储。数据量过大时,主从同步严重影响master的性能。
    Redis主机宕机后,哨兵模式正在投票选举的情况之外,因为投票选举结束之前,谁也不知道主机和从机是谁,此时Redis也会开启保护机制,禁止写操作,直到选举出了新的Redis主机。

Redis使用了Raft算法实现领导者选举,在多个Sentinel节点中选出一个领导者来进行故障切换。

Redis Cluster

image

redis在3.0上加入了 Cluster 集群模式,实现了 Redis 的分布式存储,也就是说每台 Redis 节点上存储不同的数据。cluster模式为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器,内存/QPS不受限于单机,可受益于分布式集群高扩展性。
Redis Cluster是一种服务器Sharding技术(分片和路由都是在服务端实现),采用多主多从,每一个分区都是由一个Redis主机和多个从机组成,片区和片区之间是相互平行的。Redis Cluster集群采用了P2P的模式,完全去中心化。

  1. 集群完全去中心化,采用多主多从;所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
  2. 客户端与 Redis 节点直连,不需要中间代理层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。
  3. 每一个分区都是由一个Redis主机和多个从机组成,分片和分片之间是相互平行的。
  4. 每一个master节点负责维护一部分槽,以及槽所映射的键值数据;集群中每个节点都有全量的槽信息,通过槽每个node都知道具体数据存储到哪个node上。

参考

07 Redis-Cluster 故障倒换调优原理分析
4种 Redis 集群方案介绍+优缺点对比
[Redis] 你了解 Redis 的三种集群模式吗?-很详细,很好
Redis 的哨兵模式为什么还有人用?

标签:Redis,模式,主从,集群,哨兵,节点
From: https://www.cnblogs.com/strongmore/p/17131265.html

相关文章

  • Redis 事务
    Redis事务Redis中的事务是通过使用MULTI、EXEC、DISCARD和WATCH命令实现的。以下是这些命令的说明:MULTI:用于标记事务的开始。在执行MULTI后,所有后续的命令都将被认为是事务的一部分。EXEC:用于执行之前标记的事务。Redis将按顺序执行事务中的所有命令。DISCARD:......
  • Linux Centos7 虚拟环境安装Redis教程(超详细)
    一、Redis的介绍1、基于内存或持久化的日志型、key-value型的Nosql数据库2、Redis六大特性:速度快、广泛的语言支持、持久化、多种数据结构、主从复制、高可用与分布式。二、Redis安装下载1、官网下载官网:https://redis.io/download/选择Redhat/Centos7下载tar.gz压缩包......
  • Redis持久化相关
    关于Redis持久化RDB(redisdatabase):在指定的时间间隔对数据进行快照存储,全量存储。它以紧缩的二进制文件保存Redis数据库某一时刻所有数据对象的内存快照,可用于Redis的数据备份、转移与恢复。AOF(appendonlyfile):记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令......
  • Logstash 获取通道类型 Redis 数据
    Redis服务器是logstash官方推荐的broker选择。Broker角色也就意味着会同时存在输入和输出俩个插件。这里我们先学习输入插件。LogStash::Inputs::Redis 支持三种 data_type(实际上是redis_type),不同的数据类型会导致实际采用不同的Redis命令操作:list=>BLPOPchannel......
  • Redis加载其他模块
    加载第三方模块gitclonehttps://github.com/wujunze/redis-module-panda.gitmakedockercppanda.soredis:/如果网络不好,下载不下来,可以下载到windows下,通过scp工具上传到服务器。make之后生成panda.so文件,拷贝到容器内部。两种加载方式启动时加载redis.conf添......
  • redis锁简单实现
    不要用get,get的话有可能并发使用setnxex NX :只在键不存在时,才对键进行设置操作。SETkeyvalueNX效果等同于SETNXkeyvalue。EX second:设置键的过期时间为second秒。SETkeyvalueEXsecond效果等同于SETEXkeysecondvalue。Booleanflag=jedisTemplat......
  • linux安装redis
    一、下载redissudoaptinstallredis-server 二、修改配置文件sudovim/etc/redis/redis.conf daemonizeyes    后端模式启动bind0.0.0.0     外网可访问,且去除ipv6限制requirepass     修改密码 三、服务管理1、重启服务sudoserviceredis-se......
  • redis为什么这么快、底层磁盘以及IO模型
    一、底层磁盘IO机制Redis是单进程单线程?为什么这么快:进入redis安装目录下执行以下命令,查看setlpush命令的处理效率:./redis-benchmark-tset,lpush-n100000-q根据官方的数据,Redis的QPS可以达到10万左右(每秒请求数)。就我这个虚拟机的性能,可以看到每秒......
  • 安装解压版Redis数据库
    1、上传redis-7.0.9.tar.gz压缩包到/usr/local目录2、解压tar-xzvfredis-7.0.9.tar.gz3、进入目录cdredis-7.0.94、编译redis:make5、安装makeinstallPREFIX=/usr/local/redis将安装路径设为/usr/local/redis6、make报错pkg-config:notfound,即 yuminstallpkg-con......
  • 安装Redis(详细教程)
    一.访问git地址下载安装包解压到一个路径https://github.com/tporadowski/redis/releases  二.在路径输入cmd进入redis,启动redis:redis-server.exeredis.windows.conf 三.配置环境变量 四.打开Redsi客户端进行连接(在Redis路径下cmd输入)redis-cli.exe 不成功......