Redis集群部署方案对比:主从哨兵 vs Cluster,各自的适用场景和配置要点

在 Redis 的部署方案中,主从+哨兵和 Cluster 是两种主流选择。

🏛️ 主从 + 哨兵模式 (Master-Slave + Sentinel)

此方案是在主从复制基础上,增加了哨兵进程以实现自动故障转移,是官方推荐的高可用方案之一。

核心架构

  • 主从复制:一个主节点(Master)处理所有写请求,多个从节点(Slave)通过异步复制同步数据,用于读负载和备份。
  • 哨兵集群:部署 3 个或更多独立的哨兵进程,负责监控主从状态、执行故障转移(选举新主)并通知客户端新主地址。

适用场景

  • 数据量中等:单个 Redis 实例(几十GB内)能容纳全部数据,瓶颈在于内存而非 CPU/网络。
  • 高可用需求:业务不能接受手动切换主从,需要自动故障转移。
  • 读多写少:希望通过读写分离提升读吞吐量。
  • 运维能力中等:团队能接受哨兵带来的额外运维复杂度,但希望避免集群模式的复杂性。

配置要点

  1. Redis 主从配置
    • 主节点:默认配置即可,建议开启持久化(RDB/AOF)。
    • 从节点:在redis.conf中设置replicaof <master_ip> <master_port>,并设为只读replica-read-only yes
  2. 哨兵配置 (sentinel.conf)
    • 监控sentinel monitor mymaster <master_ip> <master_port> <quorum>quorum通常设为哨兵总数的一半加一(如3个哨兵设为2)。
    • 超时sentinel down-after-milliseconds mymaster 30000(30秒无响应判为下线)。
    • 故障转移sentinel failover-timeout mymaster 180000(故障转移超时时间)。
    • 同步sentinel parallel-syncs mymaster 1(故障后一次只同步一个从节点,减轻新主压力)。
  3. 客户端接入
    • 使用支持 Sentinel 的客户端,配置master-name和所有sentinel节点地址。客户端会自动发现并连接当前的主节点。

🧩 Redis Cluster 模式

这是 Redis 官方的分布式解决方案,通过数据分片(Sharding)实现存储和性能的横向扩展。

核心架构

  • 数据分片:所有数据被映射到 16384 个哈希槽(Hash Slot)中,这些槽被分配给不同的主节点。
  • 主从复制:每个主节点可拥有一个或多个从节点,主节点故障时,其从节点会自动提升为主节点。
  • 去中心化:集群中的节点通过 Gossip 协议通信,客户端可直接连接任意节点,由节点通过MOVEDASK重定向到正确的目标节点。

适用场景

  • 数据量大:单个实例内存无法容纳全部数据(如达到上百GB或TB级别)。
  • 高并发:单个 Redis 实例的 QPS 或网络带宽达到瓶颈,需要水平扩展。
  • 高可用:要求数据分片和高可用,且希望架构能随业务增长灵活扩容。
  • 运维能力强:团队具备管理复杂集群的经验和能力。

配置要点

  1. 节点配置 (redis.conf)
    • 启用集群模式:cluster-enabled yes
    • 指定集群配置文件:cluster-config-file nodes-6379.conf
    • 设置节点超时时间:cluster-node-timeout 15000(毫秒)。
    • 建议开启 AOF 持久化:appendonly yes
  2. 创建集群
    • 使用redis-cli --cluster create命令创建集群。例如,6个节点(3主3从)的命令如下:
      bash
      redis-cli --cluster create
      192.168.1.10:7000 192.168.1.11:7001 192.168.1.12:7002
      192.168.1.13:7003 192.168.1.14:7004 192.168.1.15:7005
      –cluster-replicas 1

    • --cluster-replicas 1表示每个主节点拥有1个从节点。

  3. 客户端接入
    • 客户端必须使用支持 Redis Cluster 的驱动。
    • 客户端会缓存槽位映射关系,直接路由请求,或在遇到MOVED/ASK重定向时自动更新。

⚖️ 核心差异与选型指南

对比维度主从 + 哨兵Redis Cluster
数据分片不支持,所有数据存于单个主节点。支持,数据自动分片到多个主节点。
扩展方式垂直扩展(升级单机硬件)。水平扩展(增加新节点)。
高可用支持,哨兵实现自动故障转移。支持,每个分片内主从自动故障转移。
客户端复杂度中等,需支持 Sentinel 协议。较高,需支持 Cluster 协议和重定向。
运维复杂度中等,需维护主从+哨兵两组进程。,需管理分片、槽位、迁移等。
事务/Lua 脚本无限制⚠️受限,多 Key 操作需在同一槽位。
适用数据规模中小规模(GB级)。大规模(TB级)。

一句话选型建议:

  • 数据能装下单机,但要高可用主从 + 哨兵
  • 数据量巨大或 QPS 极高,需水平扩展Redis Cluster

🚀 针对分布式限流的实践建议

结合之前的分布式限流场景:

  • 若限流规则数量不多,且 QPS 在单机可承受范围内,使用主从 + 哨兵模式,将 Lua 脚本部署在任一主节点上即可。
  • 若限流维度非常细(如海量用户、接口),导致单个 Reis 实例压力过大,则应考虑使用Redis Cluster模式,将不同的 Key 分布到不同分片,实现真正的水平扩展。

🔥 关注公众号【云技纵横】,目前正在更新分布式缓存进阶技巧和干货

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1135907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hbuilderx制作网页结合Bootstrap响应式开发全面讲解

用 HBuilderX 搭配 Bootstrap 做响应式网页&#xff1a;从零开始的实战指南 你有没有遇到过这样的情况&#xff1f;辛辛苦苦写好的网页&#xff0c;在自己电脑上看得很完美&#xff0c;结果一拿到手机上就“炸了”——文字小得看不见、图片溢出屏幕、导航栏挤成一团……这其实…

opensbi中plic中断控制逻辑使能

你提供的这两个函数是 PLIC 控制器中中断使能位&#xff08;IE, Interrupt Enable&#xff09; 的核心读写接口&#xff0c;负责精准定位并操作指定上下文、指定中断块的 PLIC 使能寄存器&#xff0c;我会从功能、地址计算逻辑、参数含义、使用场景四个维度拆解&#xff0c;帮你…

计算机行业的本质

1.概述计算机行业的本质&#xff0c;有两种最重要的本质,一个if else while&#xff1b;一个是结构关系&#xff0c;像是数据库的关系表。任何程序的运转无法是 if else while 控制具体的运算行为&#xff0c;这行为可以是数学运算&#xff0c;可以是io的写入&#xff0c;可以是…

救命神器!8款AI论文软件测评:研究生毕业论文痛点全解

救命神器&#xff01;8款AI论文软件测评&#xff1a;研究生毕业论文痛点全解 2026年AI论文工具测评&#xff1a;为何要关注这些“救命神器” 在研究生阶段&#xff0c;撰写毕业论文不仅是学术能力的体现&#xff0c;更是时间与精力的巨大挑战。从选题构思到文献检索&#xff0c…

PyQt上位机界面构建:超详细版布局管理讲解

PyQt上位机界面构建&#xff1a;从零掌握专业级布局管理在工业自动化、嵌入式调试和数据采集系统中&#xff0c;上位机软件是连接操作人员与底层设备的“神经中枢”。它不仅要稳定可靠地完成通信控制任务&#xff0c;更要提供清晰直观的操作体验。一个结构混乱、缩放错乱的界面…

Packet Tracer中RIP路由更新过程动态追踪指南

用Packet Tracer“看懂”RIP&#xff1a;从路由更新到网络收敛的全过程追踪你有没有过这样的经历&#xff1f;在学习动态路由协议时&#xff0c;老师讲得头头是道——“路由器会周期性广播自己的路由表”、“跳数加一后转发”、“最终实现全网收敛”……但这些过程到底长什么样…

MySQL/MongoDB

MySQL 和 MongoDB 是两种非常流行的数据库系统&#xff0c;但它们在设计理念、数据模型、使用场景等方面有显著差异。以下是它们的主要对比&#xff1a; 1. 类型 MySQL&#xff1a;关系型数据库&#xff08;RDBMS&#xff09;&#xff0c;基于 SQL&#xff08;结构化查询语言&…

提供基于comsol中相场方法模拟多孔介质两相驱替(水气、油水等等)的算例(也可以定做水平集驱...

提供基于comsol中相场方法模拟多孔介质两相驱替&#xff08;水气、油水等等&#xff09;的算例&#xff08;也可以定做水平集驱替的算例&#xff09;&#xff0c;可在此基础上学会利用comsol软件进行两相流驱替的模拟&#xff0c;拓展研究&#xff0c;具体参考算例附后。 附赠基…

嵌入式DFMEA模板表格

DFMEA 是 Design Failure Mode and Effects Analysis 的缩写&#xff0c;中文译为设计失效模式及后果分析&#xff0c;是嵌入式、电子工程等工业领域产品设计阶段的核心可靠性分析工具&#xff0c;目的是提前识别设计缺陷、预判失效风险&#xff0c;并制定预防措施&#xff0c;…

救命神器10个AI论文软件,助本科生轻松搞定毕业论文!

救命神器10个AI论文软件&#xff0c;助本科生轻松搞定毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 在当今信息爆炸的时代&#xff0c;本科生撰写毕业论文的压力与日俱增。无论是选题、资料收集、结构搭建&#xff0c;还是语言润色和降重处理&#xff0c;每一个环节…

基于Thinkphp-Laravel的智能分配出租车叫车打车网约车管理系统的可视化大屏分析系统设计

目录摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理摘要 Thinkphp-Laravel智能分配出租车叫车管理系统整合了PHP框架的高效开发能力与智能算法优化&#xff0c;实现出租车资源的动态调度与可视化分析。系统采用Laravel的优雅语法与ThinkPHP的…

揭秘AI论文生成高阶玩法:7工具1小时出15万字问卷论文带真实参考文献

90%的学生都不知道这个隐藏功能… 你是否还在为论文卡壳彻夜改稿&#xff1f;是否还在为查重率飙升而焦虑到失眠&#xff1f;业内导师圈流传着一个鲜为人知的秘密&#xff1a;真正的科研高手早已用上“黑科技”——一种能在1小时内批量产出15万字问卷论文、自动配齐真实参考文…

手把手教你计算LED显示屏尺寸大小(含分辨率)

手把手教你精准计算LED显示屏尺寸与分辨率&#xff1a;从理论到实战的完整指南你有没有遇到过这样的情况&#xff1f;项目现场已经搭好了支架&#xff0c;电源也接上了&#xff0c;结果发现买回来的LED屏拼完之后宽了10厘米、矮了一行模组&#xff0c;要么得拆墙重装&#xff0…

基于Thinkphp-Laravel的月子会所服务系统

目录基于ThinkPHP-Laravel的月子会所服务系统摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理基于ThinkPHP-Laravel的月子会所服务系统摘要 月子会所服务系统是基于ThinkPHP和Laravel框架开发的综合管理平台&#xff0c;旨在提升月子会所的运…

BusyBox集成telnetd实现远程登录:项目应用示例

忙得动不如连得上&#xff1a;用 BusyBox 的 telnetd 实现嵌入式远程登录实战你有没有过这样的经历&#xff1f;手里的开发板通电后黑屏无输出&#xff0c;串口线插了半天也只看到一串启动日志戛然而止&#xff1b;现场设备突然宕机&#xff0c;但没人能去拆机接线&#xff1b;…

I2S协议物理层解析:一文说清数据同步与时钟关系

I2S协议物理层解析&#xff1a;一文说清数据同步与时钟关系在数字音频的世界里&#xff0c;信号的“纯净”与“准确”是工程师永恒的追求。无论是你在智能音箱中听到的一声清澈人声&#xff0c;还是车载音响播放的高保真交响乐&#xff0c;背后都离不开一套精密的通信机制——I…

基于python的食品公司采购管理系统的设计与实现_usr5txay

目录摘要内容关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要内容 食品公司采购管理系统基于Python开发&#xff0c;旨在优化采购流程、提升供应链效率并降低运营成本。系统采用…

RS485和RS232通信电平标准入门级解析

RS485与RS232&#xff1a;不只是电平不同&#xff0c;更是两种通信哲学的碰撞你有没有遇到过这种情况&#xff1f;调试一个传感器&#xff0c;用串口线连上PC就能通&#xff0c;换到工业现场一公里外就频繁丢包&#xff1b;或者想把三四个设备挂到一条线上轮询数据&#xff0c;…

pjsip呼叫控制逻辑设计:拨号、接听、挂断完整示例

pjsip呼叫控制实战&#xff1a;从拨号到挂断的完整逻辑拆解你有没有遇到过这样的场景&#xff1f;在开发一款软电话应用时&#xff0c;点击“拨打”按钮后&#xff0c;对方没反应&#xff1b;或者来电了却无法正确弹出提示&#xff1b;最头疼的是通话中突然断开&#xff0c;日志…

燃料电池功率跟随cruise仿真模型!!!此模型基于Cruise2019版及Matlab201...

燃料电池功率跟随cruise仿真模型&#xff01;&#xff01;&#xff01;此模型基于Cruise2019版及Matlab2018a搭建调试而成&#xff0c;跟随效果很好&#xff0c;任务仿真结束起始soc几乎相同。 控制模型主要包括燃料堆控制、DCDC控制、驱动力控制、再生制动控制、机械制动等模块…