一、前言
Mycat作为一个代理层中间件,Mycat系统的高可用涉及到Mycat本身的高可用以及后端MySQL的高可用。在大多数情况下,建议采用标准的主从复制高可用性配置并交付给Mycat来完成后端MySQL节点的主从自动切换。
二、MySQL高可用
首先看,未加入Mycat之间。MySQL的一主多从结构。
上图中,虚线箭头表示的是主备关系,也就是A和A' 互为主备,从库B、C、D执行的是主库A。一主多从的设置,一般用于读写分离,主库负责所有的写入,以及一小部分读。其他的读请求则有从库分担。
加入Mycat之间的结构如下图所示:
如上图所示,MySQL节点开启主从复制的配置访问,并将主节点配置为Mycat的dataHost里的writeNode,从节点配置为readNode,Mycat发起心跳检测,正常情况下,Mycat会将第一个writeHost作为写节点,所有的DML SQL会发送给此节点。若M