数据库 主备切换

有定义如下:

  • agent:上报数据库的实例,最新的信息同步到某存储。
  • manager:定期从存储中获取数据,决策是否做主备切换以及主备切换策略。
  • router:路由,指向master。

切换过程:

  • 正常上报:所有agent上报自身的角色,与master的连接情况,同步进度等
  • 发现故障:master agent没有响应,所有的slave agent上报连接master失败。
  • 决策切换:上一部的故障持续一段时间(需要设置)后,则判断master故障,manager根据策略选出新的master,启动切换流程。
  • 关闭同步:manager通知所有slave停止半同步,尝试通知master设置只读。
  • 调整主从:通知slave将半同步指向新的master,通知旧的master调整主从。
  • 开启读写:新的master开始读写。
  • 调整路由:路由指向新的master。

你可能感兴趣的:(Design)