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

redis集群和哨兵的区别

Redis Sentinel系统监控并确保主从数据库的正常运行,当主数据库故障时自动进行故障迁移。哨兵模式提供高可用性,客户端通过Sentinel获取主服务器地址,简化管理。Redis集群实现数据分布式存储,通过槽分区提高并发量,解决单机容量限制问题,至少需要3主3从实例。

哨兵模式

监控主数据库和从数据库是否正常运行。

主数据库出现故障时自动将从数据库转换为主数据库。

sentinel发现master挂了后,就会从slave中重新选举一个master。

哨兵模式强调高可用

Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:

监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。

提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。

自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

客户端中不会记录redis的地址(某个IP),而是记录sentinel的地址,这样我们可以直接从sentinel获取的redis地址,因为sentinel会对所有的master、slave进行监控,它是知道到底谁才是真正的master的,例如我们故障转移,这时候对于sentinel来说,master是变了的,然后通知客户端。而客户端根本不用关心到底谁才是真正的master,只关心sentinel告知的master。

集群

即使使用哨兵,redis每个实例也是全量存储,每个redis存储的内容都是完整的数据,浪费内存且有木桶效应。为了最大化利用内存,可以采用集群,就是分布式存储。即每台redis存储不同的内容,共有16384个slot。每个redis分得一些slot,hash_slot = crc16(key) mod 16384 找到对应slot,键是可用键,如果有{}则取{}内的作为可用键,否则整个键是可用键

集群至少需要3主3从,且每个实例使用不同的配置文件,主从不用配置,集群会自己选。

cluster是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器。

集群模式提高并发量。

http://www.lqws.cn/news/129709.html

相关文章:

  • MySQL 索引:为使用 B+树作为索引数据结构,而非 B树、哈希表或二叉树?
  • Python 解释器安装全攻略(适用于 Linux / Windows / macOS)
  • Spring AI 项目实战(五):Spring Boot + AI + DeepSeek + Redis 实现聊天应用上下文记忆功能(附完整源码)
  • VR博物馆推动现代数字化科技博物馆
  • 基于 ShardingSphere + Seata 的最终一致性事务完整示例实现
  • 思维力三阶 · 序章:从认知碎片到系统思维——点亮内心的“认知操作系统”蓝图
  • 佰力博科技与您探讨半导体电阻测试的基本原理
  • UE5 创建了一个C++类,现在我还有一个蓝图类,我想将编写的C++类中包含的功能加入到这个蓝图类里面,如何做到
  • Redis中的setIfAbsent方法和execute
  • 使用cursor 编辑器开发 Vue项目,配置ESlint自动修复脚本,解决代码不规范引起的报错无法运行项目问题
  • Flutter如何支持原生View
  • node 进程管理工具 pm2 的详细说明 —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录 7
  • excel从不同的excel表匹配数据
  • 采用 Docker GPU 部署的 Ubuntu 或者 windows 桌面环境
  • centos 9/ubuntu 一次性的定时关机
  • Python训练第四十四天
  • 【EasyExcel】导出时添加页眉页脚
  • 【Oracle】存储过程
  • Oracle实用参考(13)——Oracle for Linux静默安装(1)
  • Delphi中实现批量插入数据
  • oracle从表B更新拼接字段到表A
  • Sql Server 中常用语句
  • 鸿蒙Navigation路由导航-基本使用介绍
  • 【RAG召回优化】rag召回阶段方法探讨
  • 服务器--宝塔命令
  • 【和春笋一起学C++】(十七)C++函数新特性——内联函数和引用变量
  • 边缘计算网关赋能沸石转轮运行故障智能诊断的配置实例
  • Webpack常见的插件和模式
  • Rocket客户端消息确认机制
  • 电路图识图基础知识-降压启动(十五)