当前位置: 首页 > news >正文

Redis集群模式(优缺点)

       

目录

引言

主从模式

          优点

          缺点

哨兵模式

          优点

          缺点

集群模式

          优点

          缺点

        总结


引言

                    Redis常用的三种集群模式是主从模式,哨兵模式,集群模式

主从模式

          这种模式下有一个主节点和一个或多个从节点。所有的写操作都在主节点上进行,而读操作可以在主节点和从节点上进行。从节点会复制主节点的数据,实现数据的备份。当主节点出现故障时,其中一个从节点可以提升为主节点

          优点

  • 数据冗余备份:通过主节点同步数据到从节点,实现了数据的冗余存储,提高了数据的可靠性。当从节点发生故障时,从节点可以接管服务,避免数据丢失

  • 读写分离:客户端的读请求可以分担到从节点,减轻主节点的读负载,提高整个系统的读性能。适用于读多写少的场景,如数据查询,报表生成等

  • 简单易用:架构相对简单,配置和维护成本较低,易于理解和上手

          缺点

  • 单点故障风险:主节点是整个系统的关键,一旦主节点出现故障,整个写操作会受到影响,可能导致数据不一致或丢失

  • 扩展性有限:写操作只能在主节点上进行,无法通过增加从节点来提高写性能,限制了系统的扩展能力

  • 故障恢复复杂:当主节点故障后,需要手动切换从节点和主节点,过程较为复杂且可能存在风险

哨兵模式

          哨兵模式是为了弥补主从复制集群中主机宕机之后,主备切换的复杂性而演变出来的。在这种模式下,有一个或多个哨兵节点,它们的主要作用是监控主从集群,自动切换主备,完成集群故障转换

          优点

  • 自动故障恢复:哨兵进程实时监控主从节点的状态,当检测到主节点故障时,能够自动执行故障转移,将从节点提升为新的主节点,减少了人工干预,提高了系统的可用性

  • 高可用性提升:在主节点故障时,哨兵模式可以快速恢复服务,避免了长时间的停机,适用于对高可用性要求较高的场景

  • 兼容主从模式:哨兵模式在功能上兼容主从模式,可以在原有主从架构的基础上进行升级,降低了迁移成本

          缺点

  • 资源消耗增加:哨兵进程需要消耗一定的系统资源,如CPU,内存等,可能会对Redis性能产生一定的影响

  • 配置复杂性提高:需要合理配置哨兵的参数,如故障判断条件、选举机制等,配置不当可能导致故障恢复失败,或出现脑裂等问题

  • 扩展性仍有限:虽然哨兵模式解决了主节点故障恢复的问题,但写操作仍然只能在单一节点上进行,无法满足大规模写入的需求

集群模式

          Redis Cluster是Redis官方提供的分布式解决方案,可以将数据分片存储在多个节点上,提供高性能和可伸缩性。它实现了真正的分布式存储,不仅支持高可用和读写分离,还支持数据分片

          优点

  • 高扩展性:通过将数据分片存储在多个节点上,实现了水平扩展。可以根据业务需求灵活增加或减少节点,轻松应对数据量和并发量的增长

  • 高性能:读写操作可以在多个节点上并行执行,充分利用了多核CPU的处理能力,大大提高了系统的吞吐量

  • 真正的分布式存储:数据在集群中均匀分布,避免了单点故障和性能瓶颈,提供了更高的可靠性和可用性

          缺点

  • 复杂性增加:集群模式的搭建和配置较为复杂,需要深入了解Redis Cluster的原理和参数。此外,客户端也需要支持集群模式,增加了开发和维护的难度

  • 数据一致性挑战:在分布式环境下,保证数据的一致性是一个挑战。Redis Cluster采用最终一致性模型,在网络分区或故障情况下,可能会出现短暂的数据不一致

  • 学习曲线较陡:对于初学者来说,学习难度较大

        总结

  • 简单场景,读多写少:如果业务对数据一致性要求不高,且以读操作为主,主从模式是一个简单易用的选择,能够满足基本的备份和读扩展需求。

  • 高可用需求,自动恢复:当需要更高的可用性和自动故障恢复能力时,哨兵模式是更好的选择,它在主从模式的基础上增加了监控和自动切换功能,适用于对系统稳定性要求较高的场景。

  • 大规模数据,高并发处理:对于大规模数据存储和高并发读写的需求,集群模式是首选。它通过数据分片和多节点并行处理,提供了强大的扩展性和性能支持,能够应对复杂的业务挑战。

相关文章:

  • Flink基础简介和安装部署
  • playwright-go实战:自动化登录测试
  • 1. 找不能被3、5和7整除的数并存入列表。
  • C++常见问题与思考
  • Keil5调试技巧
  • olmOCR模型论文解读
  • c++(哈希以及封装)
  • ⭐算法OJ⭐判断二叉搜索树【树的遍历】(C++实现)Validate Binary Search Tree
  • 算法-最大公约数
  • 计算机二级(MS Office高级应用)知识点总结
  • 轴承的结构参数以及特征频率的计算
  • Transformer中,Fisher矩阵与权重之间关系
  • linux命令行工具进阶
  • HTTP状态码全解析
  • kubernetes|云原生|kubeadm-1.25.7集群单master+外部etcd集群+kubeadm-init+cri-docker文件形式快速部署
  • 基于概率图模型的蛋白质功能预测
  • 河南大学数据库实验6
  • 【leetcode题解】链表
  • 【STL】string类
  • SDH(Synchronous Digital Hierarchy,同步数字体系)
  • 民营经济促进法出台,自今年5月20日起施行
  • 习近平在上海考察
  • 浙江官宣:五一假期,没电、没气、没油车辆全部免费拖离高速
  • 太好玩了!坐进大卫·霍克尼的敞篷车进入他画笔下的四季
  • 马上评丨市长信箱“已读乱回”,群众在意的是什么
  • 央行副行长:研究建立民营中小企业增信制度,破解民营中小企业信用不足等融资制约