魏蓝

以梦为马

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

redis 主从,sentinel,cluster三者特性

一、redis的主从复制

1.特性:

主从其实就是一般包含一个主,一个或多个从,从节点从主节点复制数据,可以实现读写分离,主节点做写,从节点做读。

Redis 采用主从(可以多从)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。主从实例部署在不同的物理服务器上,根据公司的基础环境配置,可以实现同时对外提供服务和读写分离策略。

 

2.主从节点的优缺点:

1)优点:

可以实现读写分离,主节点的数据会自动复制到从节点,分担主节点的压力

2)缺点:

当主节点宕机了,会导致部分数据未同步。也不具备容错和回复功能,无论主节点或者从节点宕机都需要等重启之后才能使用

 

二、redis哨兵模式

1.特性:

Redis Sentinel 是 2.8 版本后推出的原生高可用解决方案,其部署架构主要包括两部分:Redis Sentinel 集群和 Redis 数据集群。其实哨兵模式也是一种主从,只不过增加了哨兵的功能,用于监控主节点的状态,当主节点宕机之后会进行投票重新选出主节点。可以实现故障发现、故障自动转移、配置中心和客户端通知,但是sentinel必须为奇数(除了1),用来防止出现脑裂。

哨兵的宕机分为两种:主观宕机(我认为你掉线了)和客观宕机(我们认为你掉线了),当客观宕机了之后就会再选举一个从节点作为主节点。

 

2.redis哨兵模式的优缺点:

1)优点:

  解决主从模式下的高可用

  可以实现一套 Sentinel 监控一组 Redis 数据节点或多组数据节点

  满足 Redis 大容量或高性能的业务需求

2)缺点:

  资源浪费,Redis 数据节点中 slave 节点作为备份节点不提供服务

  不能解决读写分离问题,实现起来相对复杂

  部署相对于主从复杂

 

 

三、redis cluster集群模式

1.特性:

Redis Cluster 是 3.0 版后推出的 Redis 分布式集群解决方案,主要解决 Redis 分布式方面的需求。当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster 能起到很好的负载均衡的目的。Redis Cluster 集群节点最小配置 6 个节点以上(3 主 3 从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用。Redis Cluster 采用虚拟槽分区,所有的键根据哈希函数映射到 0~16383 个整数槽内,每个节点负责维护一部分槽以及槽所印映射的键值数据。

 

2.redis cluster的优缺点:

1)优点:

  所有Redis节点使用(PING机制)互联

  集群中某个节点的是否失效,是由整个集群中超过半数的节点监测都失效,才能算真正的失效

  客户端不需要proxy即可直接连接redis,应用程序中需要配置有全部的redis服务器IP

  redis cluster把所有的redis node 平均映射到 0-16383个槽位(slot)上,读写需要到指定的redis node上进行操作,因此有多少个redis node相当于redis 并发扩展了多少倍,每个redis node 承担16384/N个槽位

  Redis cluster预先分配16384个(slot)槽位,当需要在redis集群中写入一个key -value的时候,会使 用CRC16(key) mod 16384之后的值,决定将key写入值哪一个槽位从而决定写入哪一个Redis节点 上,从而有效解决单机瓶颈

 

2)缺点:

  大多数时客户端性能会”降低”

  命令无法跨节点使用:mget、keys、scan、flush、sinter等

  客户端维护更复杂:SDK和应用本身消耗(例如更多的连接池)

  不支持多个数据库︰集群模式下只有一个db 0

  复制只支持一层∶不支持树形复制结构,不支持级联复制

  Key事务和Lua支持有限∶操作的key必须在一个节点,Lua和事务无法跨节点使用

 

写于2022/6/12 20:27 weilan

posted on   魏蓝  阅读(273)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示