鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Mycat for MySQL高可用

Mycat作为一个代理层中间件,Mycat系统的高可用涉及到Mycat本身的高可用以及后端MySQL的高可用。MySQL高可用方案都可以在此用来确保Mycat所连接的后端MySQL服务的高可用性,在大多数情况下,建议采用标准的MySQL主从复制高可用性配置并交付给Mycat来完成后端MySQL节点的主从自动切换。

图1 Mycat for MySQL高可用

如上图所示,writeHost表示主节点,readhost表示从节点,同时Mycat内部定期对一个dataHost里的所有writeHost与readHost节点发起心跳检测,当一个dataHost里面配置了多个writeHost时,如果第一个writeHost宕机,则Mycat会在默认的3次心跳检查失败后,自动切换到下一个可用的writeHost,并在conf/dnindex.properties文件里记录当前所用的writeHost的index。Mycat只负责SQL语句的分发,数据源的主动同步依赖MySQL数据库自身的功能,如果对数据一致性比较高的环境,建议将switchType设置2,保证数据的一致性。当原来配置的MySQL writeHost宕机恢复以后,重新加入Mycat,恢复后的MySQL writeHost作为从节点,跟随新的主节点,重新配置主从同步。