在基于 MySQL 传统复制的时代(MySQL 版本低于 5.5),MHA 在 MySQL 高可用中可以说是非常成熟。在 MySQL 5.6 及 GTID 的出现后,MHA 由于没有及时的与 MySQL 新的特性一起及时更新,并且据说 MHA 作者基本放弃对该软件的维护了,MHA 作者目前在 Facebook 就职,自身也没再使用 MHA,他也认为在 GTID 环境下 MHA 存在的价值不大,但是使用 MySQL 的话,我找不到一个不用 GTID 的理由,无论是从功能、性能还是从维护的角度,GTID 自身所带来的好处确实很多,以至少对于那些要求不高的业务,直接建议用 GTID+row+增强半同步即可。
由于 MHA 的没有及时更新,这里引进了一个新的高可用青云的 Xenon+MySQL。
介绍 Xenon 之前,先介绍一下 RadonDB。QingCloud RadonDB 是基于 MySQL 研发的新一代分布式关系型数据库,可无限水平扩展,支持分布式事务,具备金融级数据强一致性,满足企业级核心数据库对大容量、高并发、高可靠及高可用的极致要求。
RadonDB 基于 Golang 开发,由四部分组成:
- Radon SQL 路由层 ,Proxy模式 下载地址: https://github.com/radondb/radon
- Xenon MySQL Plus 高可用组件 下载地址: https://github.com/radondb/xenon
- 存储节点 ,官方 MySQL 或是 Perco