前言
Mycat 是一款开源的数据库分库分表中间件
一般而言在生产环境下,任何基础架构都有必要考虑 高可用,扩展性和监控方案 :
- 监控:使用 Mycat web (也有叫 Mycat-eye )可以实现对mycat的 监控
- 高可用:Mycat 目前没有官方的高可用解决方案 ,但配合使用 keepalived 和 haproxy 也可以实现mycat的 高可用
- 可扩展:由于 Mycat 本身是无状态的,可以通过添加 Mycat 节点来实现 水平扩展 ,从而分摊访问压力
下面分享一下 Mycat 高可用与负载均衡 的实现方法,详细内容可以参考 官方文档 (但是由于官方文档比较老,有不少坑,这篇分享里会将这些坑填平)
Tip: 当前的最新版本为 Mycat server 1.5 GA 、 Keepalived for Linux - Version 1.2.19 、 HAProxy 1.6.3
概要
Mycat 高可用架构
Mycat 是无状态的,可以使用 HAProxy 或四层交换机等设备构建 Mycat 高可用集群,后端 Mysql 则配置为主从同步 (replication 、mha 或 galary 集群),那么Mycat层和Mysql层就都是高可用的,整个分布式数据库系统就是高可用的