Redis集群模式深度解析:主从、Sentinel与Sharding全攻略
创始人
2024-12-17 20:01:18
0 次浏览
0 评论
Redis三种集群模式
主从模式简介主从模式由一个主节点和多个从节点组成。主节点是通过配置文件启动的,从节点也是通过配置文件启动的。
主从关系在启动时自动建立。
主从模式可以实现读写数据共享,但缺点是没有自动容灾能力。
Sentinel模式概述Sentinel模式通过3个哨兵节点监控1个主节点和2个从节点。
每个哨兵节点每秒都会向集群中的所有节点发送PING命令,以了解实例的运行状态。
如果实例没有响应PING命令,Sentinel会将其标记为主观离线(SDOWN)。
如果确认大部分哨兵节点主观下线,则将该实例标记为客观下线(ODOWN),然后进行主从节点切换,以保证集群稳定性。
哨兵模式的自动容灾机制可以满足主从节点的高可用性需求,但在大规模集群中进行在线扩容时可能会遇到挑战。
Sharding概述RedisCluster是Redis提供的分片技术,从Redis3.0版本开始支持。
通过哈希游戏将数据均匀分布在多个Redis服务器上,提高存储效率,减少内存和磁盘资源的浪费。
每个哈希槽对应一个Redis服务器。
通过CRC16计算key值并得到模块,将数据存储在相应的服务器上,实现分布式数据存储。
部署步骤启动所有节点,在配置文件中添加集群模式,并使用集群模式部署三个主节点和从节点,保证集群正常运行。
通过设置--cluster-replicas1参数,每个hashslot由一个主节点和一个从节点管理。
验证数据读写操作,测试集群内节点之间的切换能力。
主节点出现故障后,从节点自动承担主节点的角色,进行数据复制和管理。
在不同分区之间移动数据,保证集群内数据的一致性。
当添加新节点、部署新节点时,集群会自动进行数据分片,将数据分发到新节点。
新节点加入集群后,根据数据共享规则接收数据,以扩大集群规模。
数据迁移和节点管理在迁移数据分区时,集群会自动将数据从一个节点移动到另一个节点,以保证集群中数据的均衡分布。
当需要删除某个节点时,先将数据迁移到其他节点,然后再删除该节点。
性能测试主从模式在压力测试下表现良好,单节点处理能力达到6万QPS。
在分割模式下,虽然数据交换提高了存储效率,但LRange操作的性能受到一定影响,导致整体QPS略低于主从模式。
利用Pipeline技术,将多个操作合并为一个请求,QPS提升至90万,提高性能效率。
简报Redis集群模式包括主从模式、看门狗模式、分区模式,每种模式都有自己的特点和应用场景。
主从模式实现了数据读写分区,但没有自动容灾能力,哨兵模式通过自动化机制实现高可用和容灾,但在集群范围内可能存在扩展挑战;通过数据共享提高存储效率,减少资源浪费。
了解并应用不同的集群模式可以有效提高Redis系统的稳定性和性能。
redis怎么做到高可用的高并发
Redis高可用:如果部署主从架构,只需要添加Sentinels即可。如果实例出现故障,会自动进行主从变更。
Redis高并发:主从架构,一主多从足以写入数据,几万的QPS用于查询数据。
多个从实例可以提供每秒10万的QPS。
Redis虽然并发量高,但也需要容纳大量的数据:一个主多从,每个实例都可以容纳完整的数据。
例如Redismaster有10GB内存,但实际上只能存储10GB数据。
如果你的缓存需要保存大量数据,达到几十GB甚至几百GB甚至几吨,那么你就需要Redis集群,通过Redis集群你可以每秒服务数十万条数据。
同时阅读和写作。
2、Redis无法支持高并发的瓶颈是什么?单机3.如果Redis要支持10万以上并发该怎么办?一般来说,缓存用于支持高读取并行性。
每秒可能只有几千个写请求,大量的一两千个读请求。
每秒20万次读取读写,主从分离架构->读写分离->支持10万以上读取QPS的架构
相关文章
SQL2000数据库启动失败?一招解决过...
2024-12-17 07:51:17Linux Redis安装与哨兵模式配置...
2024-12-17 19:27:46数据分析师面试攻略:SQL、Excel、...
2024-12-15 05:48:49Windows多实例Redis安装教程:...
2024-12-18 12:07:25轻松解决本地MySQL服务启动失败问题
2024-12-15 14:27:05CentOS6.3 MySQL5.1.5...
2024-12-15 13:59:17SQL技巧:高效合并两表数据与两种数据迁...
2024-12-20 01:36:07Linux Redis后台启动教程:配置...
2024-12-22 21:42:00Java学习路径:从基础到企业级开发全攻...
2024-12-14 23:17:44MySQL服务启动失败?5步轻松解决启动...
2024-12-14 22:38:06最新文章
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
热门文章
1
SQL2000数据库备份压缩技巧:优化空...
怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...
2
高效掌握:CMD命令轻松启动、关闭及登录...
如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...
3
SQL字符串处理技巧:单引号使用与转义标...
SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...
4
Windows环境下Redis安装指南与...
redis安装windowsredis基本简介与安装安装Redis首先需要获取安...
5
深度解析:Redis性能优势与局限性,助...
redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...
6
深入解析:MySQL数据库的特性与应用
mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...
7
MySQL命令行操作指南:轻松启动和登录...
用命令行方式启动和登录mysql服务的方法1.启动MySQL服务1打开命令行窗口...
8
Linux Redis后台启动教程:配置...
linux怎么启动redis1、首先,为了管理方便,将Redis文件中的conf...
9
MySQL浮点数与Decimal类型详解...
MySQL中的float和decimal类型有什么区别小数类型可以准确地表示非常...
10
C语言实现输入10个整数并找出最大最小值...
C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出代码:#inclu...