Mycat+PXC高可用集群
一、架构图
架构说明:
1、mysql 集群高可用部分:
l 针对业务场景选用Percona XtraDB Cluter(PXC)复制集群、两个片集群 PXC-dataNode01、PXC-dataNode01 由Mycat 管理,实现分库分表、读写分离
l PXC 复制模式保证强一致性、不会存在数据复制延迟:当client 发起事务请求只有在集群节点都同步响应完成时才会返回成功给客户端,否则回滚、客户端报错
l 节点集群扩展方案:
增加新节点集群需要对现有的需要分片节点与新节点配置主从同步,
同步完成后修改mycat分片规则、确定数据路由ok后、停止主从复 制、删除多余数据
2、mycat 高可用部分
l Mycat 部署数量在大于等于2个节点以上,避免单点故障,由Haproxy对后端Mycat定时健康状态检查、负载均衡连接、mycat配置文件需保证同步一致、可以用zookeeper 管理常用配置文件
l Haproxy + Keeplived由两个节点组成避免单点故障,Keeplived 管理配置的 VIP ,由 Keeplived对Haproxy 定时心跳检测,如Haproxy+Keeplived(MATER)已经挂了,直接切换VIP 到 Haproxy+Keeplived(BACKUP),建议VIP 设置非抢占模式、避免在高并发连接下、频繁切换VIP 带来的业务影响
总结说明:
1、应用客户端通过VIP 连接 到后端 任意mycat节点逻辑数据库下实际物理分片节点数据库
2、不同的业务场景下mycat 下,不同的逻辑库下对应不同的业务,可以配置不同的mysql 集群方案,例如: