1.MHA高可用数据库集群的核心概念
1.1.主从复制架构的演变
在MySQL集群模式的过程中,演变出了很多类的集群,分为以下几种:
1)基础主从
在基础主从中不需要依赖于其他任何的软件,MySQL自身就可以实现的集群模式。
常见的有一主一从、一主多从、多级主从(级联主从,A库复制给B库,B库再复制给C/D/E多库)、双主、环状主从、多主依从。
其中一主一从、一主多从、多级主从是企业中最常用的方案,当然有钱的还会用RDS。
双主模式在高可用环境、分布式架构中会用到。
环状、多主依从几乎不会用,环状指的是A复制B,B复制C,C复制A。
2)高性能架构
实际上一主多从架构不会直接在企业中使用,因为程序只会去连接主库,从库相当于只是在备份主库的数据,毫无意义而言,还浪费资源,基于这种场景,相继推出了高性能架构。
所谓的高性能架构就是我们熟知的读写分离架构,释放主库的读操作,在业务场景,很多的情况下都是读操作,写数据的场景一般很少,有了读写分离结构,所有的读操作就会通过中间件路由到从库上,所有的写操作通过中间件路由到主库上。
读写分离是通过第三方中间件实现的,通过路由机制分发读写操作,企业中用的非常多。
常见的读写分离中间件有:mysql-proxy、atlas、mysqlrouter、proxysql、maxscale、mycat。
3)高可用架构