Redis-sentinel是Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具。在一般的分布式中心节点数据库中,Redis-sentinel的作用是中心节点的工作,监控各个其他节点的工作情况并且进行故障恢复,来提高集群的高可用性。
Redis 2.8之后,源代码包中已包含sentinel工具,也可以用 redis-server sentinel.conf --sentinel 的方式启动。
关于sentinel的配置参数及其原理,网上有较多的文章可参考,本文就不再重复了。
其中有一个配置陷阱作为本文重点提一下,这个花了我一天的时间才发现并解决。
计划集群环境布2台机器,组件一个 Master/Slave的REDIS主备集群(注:REDIS 3.0后可以不用Redis-sentinel组成一个分布式的集群--至少为3+3个结点)
即然组成集群(或叫HA),那就马上想到用Redis-sentinel进行自动HA切换,考虑到硬件的可靠性,那就每台机器加一个Redis-sentinel组成2+2集群。
即: Master1 + Slave1 + Sentinel1 + Sentinel2 四个结点
作为集群下结点的配置,一般情况下将Sentinel1/Sentinel2两个服务的配置文件都设为相同。
实际运行时的Sentinel1的日志如下:
[30243] 15 May 09:09:08.849 # Sentinel runid is e7d6facd50b0ac71394b872396524562cf531f29
[30243] 15 May 09:09:08.849 # +monitor master Ga
Redis Sentinel 的一个配置陷阱
最新推荐文章于 2024-08-06 12:47:48 发布
本文介绍了在Redis Sentinel配置中遇到的一个陷阱,导致故障切换延迟达到2分钟。问题出在两个Sentinel节点的`down-after-milliseconds`配置相同,造成同时发起投票,无法达成一致。解决方案是确保各Sentinel节点的该参数设置不同,以避免冲突。
摘要由CSDN通过智能技术生成