故障转移-redis

4.4.故障转移

集群初识状态是这样的:

其中7001、7002、7003都是master,我们计划让7002宕机。

4.4.1.自动故障转移

当集群中有一个master宕机会发生什么呢?

直接停止一个redis实例,例如7002:

sh 复制代码
redis-cli -p 7002 shutdown

1)首先是该实例与其它实例失去连接

2)然后是疑似宕机:

3)最后是确定下线,自动提升一个slave为新的master:

4)当7002再次启动,就会变为一个slave节点了:

4.4.2.手动故障转移

利用cluster failover命令可以手动让集群中的某个master宕机,切换到执行cluster failover命令的这个slave节点,实现无感知的数据迁移。其流程如下:

这种failover命令可以指定三种模式:

  • 缺省:默认的流程,如图1~6歩
  • force:省略了对offset的一致性校验
  • takeover:直接执行第5歩,忽略数据一致性、忽略master状态和其它master的意见
相关推荐
春生野草1 小时前
SpringBoot配置文件
java·数据库·spring boot
thginWalker1 小时前
图解Redis面试篇
redis
奇点 ♡1 小时前
MySQL基础题
数据库·sql·mysql
cherry52301 小时前
Java大厂面试真题:Spring Boot + 微服务 + 缓存架构三轮技术拷问实录
jvm·spring boot·mysql·微服务·java面试·分布式架构·redis缓存
唐古乌梁海1 小时前
【mysql】MySQL 数据库迁移
数据库·mysql·adb
啊吧怪不啊吧1 小时前
SQL之表的时间类内置函数详解
大数据·服务器·数据库·sql
2503_928411561 小时前
11.5 包和包管理器
数据库·arcgis·node.js·编辑器
JanelSirry2 小时前
真实场景:防止缓存穿透 —— 使用 Redisson 布隆过滤器
数据库·mysql·缓存·redisson·布隆过滤器
mmm.c2 小时前
mysql启动提示1067:进程意外终止
数据库·mysql
埃泽漫笔2 小时前
Redis单线程还是多线程?
数据库·redis·缓存