基于mycat读写分离应对mysql主从不同步解决方案

概述

由于有个项目用到HA+mycat+mysql主从的架构,当主库没有及时同步数据到从库时,这时候应该怎么处理呢?下面先介绍一下mycat关于读写分离的配置..

1、mycat配置读写分离

在 schema.xml 文件中配置读写分离

<code> /<code>

以上配置虽然配置了读写分离,但假设某些业务是写完后立即要进行读操作,这时候从库可能还没有同步到数据,在这种场景下是需要读主的,mycat提供了这种场景的解决方案。


2、MYCAT应对主从不同步策略

Mycat 心跳机制通过检测 show slave status 中的 "Seconds_Behind_Master","Slave_IO_Running","Slave_SQL_Running",三个字段来确定当前主从同步的状态以及 Seconds_Behind_Master 主从复制时延。当 Seconds_Behind_Master > slaveThreshold 时,读写分离筛选器会过滤掉此 Slave 机器,防止读到很久之前的旧数据。

<code> show slave status /<code>


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~