MySQL数据库高可用整体解决方案如下图:
APP: 业务层
实现方式 :java/python/golang/c/c 等方式,主要依赖数据库driver 如jdbc,pymysql等组件
LB:路由层
实现方式一:keepalived/proxysql/mysql router/LVS/haproxy/F5/maxscale等
实现方式二:Zookeeper、Eureka、Nacos、Consul和ETCD 服务注册发现等
HA组件:
组件实现:mha、orchestrator、replication-manager等
server内置插件:MGR、PXC、MariaDB Galera Cluster等
DB储存
MySQL Server/Percona Server/Mariadb Server
上述三层按照需要合理组合即可搭建完成一套从业务到数据库存储的高可用体系(在有一些方案中HA组件和LB组件有耦合的情况)。以上就是MySQL的高可用方案简介,供大家参考,还有哪些没有列出的组件,大家可以留言补充交流。