当前位置:首页 » Nosql技术教程

redis-sentinel使用总结

2013-09-29 11:06 本站整理 浏览(3)

简单介绍下Redis-sentinel:

Redis-sentinel是Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具。在一般的分布式中心节点数据库中,Redis-sentinel的作用是中心节点的工作,监控各个其他节点的工作情况并且进行故障恢复,来提高集群的高可用性。(简介来自链接:http://www.searchdatabase.com.cn/showcontent_71572.htm)

下面是我对Redis 2.9.11-非稳定版作的测试总结,更新的版本可能没有下面的问题。

1.使用Redis-sentinel,redis实例必须在非集群模式下运行

2.如果默认主从关系的主挂了,这时启动failover,在failover过程中,有n个slave还活着,那么新master就有n个slave,旧master重​启还可以加入集群,但其他在failover之前或过程中挂掉的slave重启是不能加入集群的,除非修改它们的配置文件,将master指向新master.

3.如果默认主从关系变了,其中一个slave挂了重启,它的master还是指向配置文件指定的,但它也是新master的slave,这是由于旧master已变为新​master的slave,所以旧master的slave也是新master的slave,新master的slave数不变,这可从命令:sentinel slaves mymaster看出。

ps:从这里可以看出,slave重启不会重定向master,主从关系是sentinel发info请求获取的

4.如果默认主从关系的主挂了且failover正常结束,旧master重启还可以加入集群,但旧master第二次重启就不能加入集群了。

5.只要有slave of master命令调用,即主从关系建立, 就会触发主和该从采用save方式持久化数据,不论你是否禁止save.

6.在集群中,如果默认主从关系的主挂了并立即重启,如果主没有做持久化,数据会完全丢失,从而从的数据也被清空。

7.在集群中,如果非默认主从关系的主挂了并立即重启,主从关系变乱,集群不可用。

先这么多了!