部署高可用、负载均衡的MySQL集群服务
悦库网盘集群化由悦库服务集群、MGR(MySQL Group Replication)集群、Ceph存储集群以及虚拟路由器 4个子模块组成,本文指导用户搭建高可用、高扩展以及负载均衡的MySQL数据库集群的搭建,如图中红线框所示部分。

实现方案
通过MySQL组复制实现高可用与高可扩展性,通过Keepalived配置高可用的负载均衡。
- MySQL组复制(MySQL Group Replication简称MGR)是MySQL官方提供的高可用与高可扩展的解决方案。MGR有两种配置模式:单主模式和多主模式。在单主模式下,一个节点作为可读写的主节点,其他节点作为只读的从节点,当主节点宕掉,分组会在从节点中选举出一个新的主节点。多主模式下,每个节点都作为可读写节点,但在此模式下,不支持SERIALIZABLE级别的事务隔离,对于级联外键约束也有限制。一个组(Group)至少需要3个MySQL实例。 本文中采用多主模式,每个节点均可读写,配合LVS实现负载均衡。
- Keepalived用于对MySQL组复制(MGR)集群的节点进行健康检查,通过LVS提供虚拟IP(VIP)实现MGR集群节点的负载均衡,并通过虚拟路由冗余协议(VRRP)将多个虚拟路由形成路由组,避免Keepalived的单节点故障。