之前设计的切换逻辑
1 查询slve的延迟情况,超过N秒延迟则等待或者返回失败,确保业务影响时间最短
2 登陆proxy节点,disable当前hproxy,使得后续通过proxy的业务连接失败
3 登陆proxy节点,shutdown当前通过proxy连接的会话(如果sql能快速完成,这步其实可用不做,可以做个时间阈值检测,当N秒以后还有业务层连接则kill)
4 记录当前主库的binlog和pos点
5 等待双主间的数据完全一致,即从库执行到步骤4记录的pos点后,可以利用MASTER_POS_WAIT(log_name,log_pos[,timeout])内置函数实现
6 执行切换,即enable M-M中的备用节点
7 返回切换成功
故障现象
切换以