什么是哨兵?
Sentinel概览
Redis Sentinel为Redis实现高可用。实际使用中,您可以使用Sentinel帮助Redis在无需人工干预的情况下抵御某些类型的故障,Redis Sentinel还能够完成其他辅助任务,如监控、通知和客户端配置。详细介绍可参考Redis官网。
Sentinel原理
Redis Sentinel是一个分布式系统,Sentinel的设计基础在于多个Sentinel进程协同工作,这样做的好处有:
- 只有当多个哨兵一致同意某主节点不可用,才执行故障检测,这能够降低误报的可能性。
- 即使有些Sentinel进程故障,Sentinel系统也能正常工作,从而抵御故障。
从更大范围来看,Sentinel加上Redis主从节点以及连接到Sentinel和Redis的客户端,整体也构成一个更大的分布式系统。
Sentinel功能
- 监控:Sentinel不间断地检查主从节点是否都在正常工作。
- 通知:如果Redis中某节点故障,Sentinel可以通过API通知系统管理员或其他计算机程序。
- 自动故障切换:如果主节点异常,Sentinel启动故障切换,将一个从节点升主,其他从节点从新的主节点进行复制,并通知使用该Redis的应用程序使用新地址进行连接。
- 客户端配置来源:Sentinel充当客户端服务发现的权威来源。客户端连接到Sentinel,请求当前负责特定业务的Redis主节点地址。如果发生故障切换,Sentinels将下发新地址。
Redis使用所有常见问题
- 什么是预留内存,如何配置预留内存?
- Redis实例CPU使用率达到100%的原因
- Redis实例能否修改VPC和子网?
- Redis 4.0/5.0/6.0实例为什么不支持安全组?
- Redis实例支持的单个Key和Value数据大小是否有限制?
- Redis集群可以读取每个节点的IP地址吗?
- 创建的缓存实例为什么可使用内存比实例规格少一些?
- Redis实例是否支持读写分离?
- Redis实例是否支持多DB方式?
- Redis集群实例是否支持原生集群?
- 什么是哨兵?
- Redis实例是否支持哨兵模式?
- Redis默认的数据逐出策略是什么?
- 使用redis_exporter出错怎么办?
- Redis的安全加固方面有哪些建议?
- Redis 3.0 Proxy集群不支持redisson分布式锁的原因
- 实例是否支持自定义或修改端口?
- 实例是否支持修改访问地址?
- 按需实例转包周期失败是什么原因?
- 按需实例转包周期需要停服么?
- 实例无法删除是什么原因?
- DCS实例是否支持跨可用区部署?
- 集群实例启动时间过长是什么原因?
- 客户使用Redis版本和DCS Redis版本不同是否存在兼容问题?
- DCS Redis有没有后台管理软件?
- Redis实例经常内存满了但是key不多的原因
- DCS缓存实例的数据被删除之后,能否找回?
- Redis实例是否支持SSL连接?
- 如何修改Redis 3.0实例的SSL开关?
- 为什么实例实际可用内存比申请规格小而且已使用内存不为0?
- 如何估算Redis内存占用量
- Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因?
- DCS是否支持外部扩展模块、插件或者Module?
- Redis key丢失是什么原因
- 访问Redis报OOM错误提示
- 不同编程语言如何使用Cluster集群客户端
- 使用Cluster的Redis集群时建议配置合理的超时时间
- 读取redis数据报超时错误
- Proxy集群使用多DB限制
- 实例是否支持变更可用区
- hashtag的原理、规则及用法示例
- 重启实例后缓存数据会保留吗?
- 如何购买多DB的Proxy集群实例?
more
