redis 3.0 集群__故障测评

一, slave 是不能通过redis-cli 直接进行读写操作的,但是可以执行 keys, info 命令( 猜测类似全局性的不影响到原子性操作的命令应该都可以,没有一一试验)

二,集群中的某节点异常,但是该节点有slave ( kill 7003 的 redis-server)

测试结果:slave 自动提升为master 正常 ( 即 7006 自动提升为master)

而后修复7003故障后后,先删除了7003对应的 dump 文件, 然后启动 7003 redis-server, 发现 7003 自动变成 7006 的slave,且数据直接同步过来

猜测是7003对应的nodes.conf 起的作用,再次kill 7003 线程,删除 dump 文件,并删除7003对应的nodes.conf,然后启动,结果如下

果然 这时候的 7003 只是做为一个空节点挂在集群里面而已,也没有分配任何 slot 给它

三,集群中的某节点异常,但是该节点没有slave ( 先kill 7002 对应的slave 7005 ,然后kill 7002 )

测试结果:整个集群崩溃,都不能用  (很不合理的设计, 与 codis 不一样, codis 如果 redis-server 挂了,只是这个对应的功能不能用,报异常,不至于整体不能用)

原文地址:https://www.cnblogs.com/zyguo/p/4408881.html