一 orc系列
1 orc切换模式常用的是主动触发高可用切换(例行维护),被动高可用切换(mysql负载很高,mysql主库down掉)
2 orc在以下情况不会发生切换
- 从库发生故障,主从复制异常,从库挂掉,从库出现延时
- 主库hang住,主库出现too manay connetions(因为orc建立的长连接,即便连接打满,也不会出现异常),orc到主库网络不通
3 发现从库利用的是检测dump线程的地址
4 切换流程
- 检测原主,出现故障( orc访问master不通(一次确认),不能访问slave或者所有slave-io_thread异常(二次确认))
- 选择候选主库(必须是直连 从库,规则允许当主,延时小于阈值)
- 设置原主只读
- 候选主库等待延时日志应用完成
- 打开候选主库的读写
- 将原主变成新主的从库
- 调用hook脚本,完成其他一系列工作,比如vip绑定等
5 orc一些问题
1. 实际生产没有遇到过切换失败的场景
2. 即便开了半同步复制,orc切换依然可能丢数据,因为orc判断最新binlog位点的方式是 ExecBinlogCoordinate,通过判断最新执行的binlog位点信息,有可能有这一种情况,io_thread出现网络问题,导致接收到的binlog并不完整,最终导致出现数据差异化
二 灾备架构系列
三
标签:主库,binlog,基础知识,切换,mysql,从库,问答,orc From: https://www.cnblogs.com/danhuangpai/p/17568311.html