在以前,数据库的集群配置一直很难,难点在于MySQL主从结构的高可用和读写分离。万幸的是,Galera/GR的出现,让整个集群的配置都极大程度地简化了。
以下是一个简单的MySQL集群拓扑图:
1.MySQL中间件:对MySQL Server的读写操作进行路由(即读写分离);分库分表(sharding)
- (1).MySQL Router:MySQL官方提供的轻量级MySQL代理(路由),只提供读写分离功能,前身为SQL Proxy。
- (2).ProxySQL:类似于MySQL Router,轻量级MySQL代理,提供读写分离功能,也支持一些sharding功能。有percona版和官方版两个版本。
- (3).MaxScale:MariaDB的中间件,和MySQL Router、ProxySQL类似。
- 这三者类似,都是轻量级数据库中间件。 - (4).Amoeba、Cobar、MyCAT:提供很多功能,最主要的功能包括读写分离、sharding。
- 这三者的渊源较深,都是开源的。Amoeba后继无人,于是Cobar出来,Cobar后继无人,加上2013年出现了一次较严重的问题,于是MyCAT站在Cobar的肩膀上出来了。