Redis集群方案应该怎么做

Redis集群方案的做法:1、Redis Cluster集群;2、Redis Sharding集群;3、哨兵模式;4、codis集群;5、主从模式。Redis Cluster集群是一种服务器Sharding技术,3.0版本开始正式提供。

Redis集群方案应该怎么做-Worktile社区

1、Redis Cluster集群

Redis Cluster是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构达到负载均衡的目的。分布式集群首要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整个数据的一个子集。Redis Cluster采用哈希分区规则中的虚拟槽分区。虚拟槽分区巧妙地使用了哈希空间,使用分散度良好的哈希函数把所有的数据映射到一个固定范围内的整数集合,整数定义为槽(slot)。Redis Cluster槽的范围是0 ~ 16383。槽是集群内数据管理和迁移的基本单位。采用大范围的槽的主要目的是为了方便数据的拆分和集群的扩展,每个节点负责一定数量的槽。Redis Cluster采用虚拟槽分区,所有的键根据哈希函数映射到0 ~ 16383,计算公式:slot = CRC16(key)&16383。每一个实节点负责维护一部分槽以及槽所映射的键值数据。

2、Redis Sharding集群

Redis 3.0服务端sharding推出之前,采用的较普遍的client端集群方式,工作逻辑为:将键值对中的key使用hash算法散列,特定的key映射至特定的redis 实例上,然后由client端主动向该node set/get数据,server端则工作在被动模式。目前java redis的客户端驱动jedis已经支持redis sharding的功能。

但是Redis sharding面临的问题:扩容。在client端sharding模式下,数据控制完全由client端掌控,redis集群各node间彼此独立,因此在扩容(或缩容)时,数据无法直接从原node转向新node,这时会造成缓存无法命中的问题,查询/写入请求会透过缓存层直接访问后端DB,给后端带来较大的压力,为了避免这个问题,官方给出了比较讨巧的解决方案:presharding。

3、哨兵模式

哨兵模式是从Redis的2.6版本开始提供的,但是当时这个版本的模式是不稳定的,直到Redis的2.8版本以后,这个哨兵模式才稳定下来。哨兵模式核心还是主从复制,只不过在相对于主从模式在主节点宕机导致不可写的情况下,多了一个竞选机制:从所有的从节点竞选出新的主节点。竞选机制的实现,是依赖于在系统中启动一个sentinel进程。

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

4、codis集群

codis是一个分布式redis集群解决方案,对于上层的应用来说, 连接到codis-proxy和连接原生的redis-server没有明显的区别。上层应用可以像使用单机的redis一样使用,codis底层会处理请求的转发,不停机的数据迁移等工作。所有后边的一切事情,对于前面的客户端来说是透明的,可以简单的认为后边连接的是一个内存无限大的redis服务。

5、主从模式

redis单节点虽然有通过RDB和AOF持久化机制能将数据持久化到硬盘上,但数据是存储在一台服务器上的,如果服务器出现硬盘故障等问题,会导致数据不可用,而且读写无法分离,读写都在同一台服务器上,请求量大时会出现I/O瓶颈。
为了避免单点故障 和 读写不分离,Redis 提供了复制(replication)功能实现master数据库中的数据更新后,会自动将更新的数据同步到其他slave数据库上。

延伸阅读

Redis Cluster集群的特点

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

文章标题:Redis集群方案应该怎么做,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34700

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年1月6日 下午5:24
下一篇 2023年1月8日 上午4:17

相关推荐

  • PowerBI DAX 和Excel函数有哪些根本性区别

    区别有:1、最本质的区别;2、数据处理能力的区别;3、安全性的区别;4、实用性的区别。powerbi和excel最本质的区别就是Excel是电子表格程序,而BI工具是数据库程序。Excel的数据存储量有限,而BI工具在数据存储和数据验证上花了大量的工作。 1、最本质的区别 powerbi和excel…

    2023年2月21日
    1.5K00
  • oa系统是怎样的

    OA系统,即办公自动化系统,是利用现代信息技术来优化办公流程、提高工作效率及管理水平的工具。1、OA系统的核心功能包括文档管理、流程审批、通讯协作、资源共享。OA系统让信息流通更迅速,工作协作更高效,是当代企业管理的重要组成部分。 随后,文章将进一步深入介绍OA系统在企业管理中的作用、常见的功能模块…

    2024年1月11日
    21700
  • 研发质量管控方法

    研发质量管控方法包含了多个重点方面:1、明确质量目标、2、规划研发流程、3、实施质量审核与测试、4、持续改进与反馈。在这些方面中,实施质量审核与测试是保证研发项目成功的关键环节,它通过定期检验和评估产品质量,确保研发输出符合预定的质量标准和客户要求。 研发质量管控不单指标准化流程的制定和遵循,它更着…

    2024年1月10日
    47900
  • 产品项目管理软件有哪些j

    项目管理软件有:一、PingCode;二、JIRA;三、tracup;四、coding。PingCode是国内软件研发项目管理软件。功能以及解决的问题有:能够支持看板、敏捷等多种项目的管理;管理团队目标,监控单或多项目的进度、管理计划分配资源、管理团队或个人的工作效率。 一、PingCode Pin…

    2023年3月31日
    36100
  • 项目质量管理如何实施自评

    项目质量管理的自评是关键过程,涵盖了诸多方面,包括:制定质量基准、执行质量检查、使用质量工具与技术,以及持续改进。在这众多要素中,执行质量检查是实施自评的核心,它直接关系到项目质量管理的成败。执行质量检查涉及对项目成果和过程进行定期审查,确保它们满足事先确定的质量标准。这不仅包括检查成品质量,还包括…

    2024年4月10日
    5600
  • 项目上如何做好成本管理

    成本管理是确保项目在既定预算内顺利完成的关键活动。要做好成本管理,首先要编制详细的成本估算,然后发展成为成本预算,最终进行成本控制。具体方法包括: 明确成本管理的范围、编制准确的成本估算、设定成本基准、实施成本控制、使用恰当的工具和技术进行成本监控。特别是在成本估算阶段,需要深入分析项目需求、历史数…

    2024年4月10日
    6200
  • 如何进行项目管理

    进行项目管理的流程:1、启动;2、计划;3、执行;4、控制;5、收尾。启动是指,定义一个项目或项目阶段的工作与活动,决策一个项目或项目阶段的启动与否,或决策是否将一个项目或项目阶段继续进行下去等工作。 1、启动 在一个项目管理过程循环中,首要的管理具体过程是一个项目或项目阶段的启动过程。它所包含的管…

    2023年2月14日
    43300
  • 东鹏oa系统

    东鹏OA系统是一种用于企业内部管理的办公自动化系统,旨在提高工作效率、优化业务流程、确保数据安全和促进信息共享。系统集成了任务分配、文档管理、时间规划等功能,创造了协同工作的环境,降低了管理成本。 一、系统简介 东鹏OA系统是东鹏特饮旗下的一款办公自动化软件,它涵盖了企业管理所需的各个方面。由于它的…

    2024年1月12日
    31400
  • 学编程需要什么基础

    摘要 学习编程需要的基础主要包括1、逻辑思维能力、2、数学基础、3、计算机操作能力、以及4、英语阅读能力。其中,逻辑思维能力尤为重要,它是理解编程语言、解决问题的基石。逻辑思维能够帮助学习者有效地理解程序的流程、掌握各种数据结构与算法,以及编写出高效、优雅的代码。拥有扎实的逻辑思维能力,即便面对复杂…

    2024年4月25日
    1100
  • oa衣服贵吗

    OA衣服价格波动较大,受因素影响不一。概括来讲,品牌、设计、制作材料、销售渠道、限量版或合作系列等均影响成本与定价,个别款式或系列可能显著高于市场平均价位。OA衣服在设计师品牌中,定位相对较高,倾向于优质面料和独特设计,因此价格普遍不菲。以面料选择为例,若使用高级进口面料,相比于常见面料成本更高,反…

    2024年1月11日
    31400

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部