MySQL高可用解决方案:从主从复制到InnoDB Cluster架构
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.1 MySQL高可用选项

MySQL的高可用实现方法具有相当长的历史。MySQL在3.23.15版本中首次引入了复制,并经历了多次改进。MySQL高可用的选项组合已经扩展到大量的应用场景,可以实现简单的冗余(“热”备份)、可扩展性,以及高可用的系统。

以下内容简单地描述了MySQL中主要的高可用选项。除此之外,在服务器和外部工具中有许多改进和增强功能,可以对这些选项进行补充。

MySQL复制:第一个高可用选项,允许数据从一个实例(服务器)复制到一个或多个其他的实例(服务器)。MySQL复制实现的高可用特性主要包括冗余、热备(恢复)、备份和读取的可伸缩性。

MySQL ReplicaSet:MySQL复制的替代产品,通过MySQL Shell进行配置管理,可以配合MySQL Router使用。除了具备MySQL复制的特性,还具有安装配置简单、容易使用等特点。

MySQL组复制:建立在MySQL复制的基础上,组复制提供高级的服务器交互,可以实现更好的冗余、同步、自动故障转移,以及写入处理的可伸缩性。组复制比MySQL复制提供了更强的恢复能力和可靠性。

InnoDB Cluster:建立在MySQL组复制的基础上,InnoDB Cluster增加了额外的管理,包括应用程序编程接口(API),应用程序故障转移和MySQL Router,以及简化的配置,以方便用户使用。InnoDB Cluster提供了比组复制更高级别的高可用性。

InnoDB ClusterSet:建立在InnoDB Cluster的基础上,通过MySQL Shell进行配置管理,数据从一个主要的InnoDB Cluster异步复制到其他MySQL实例或者InnoDB Cluster,可以实现多个InnoDB Cluster结合使用,提供更高级别的高可用性。

MySQL NDB Cluster:有别于使用InnoDB引擎的MySQL服务器,NDB Cluster是一个单独的产品,提供更高级别的可用性,适用于分布式计算环境,使用内存型的NDB(Network Database)存储引擎,由多台MySQL服务器实例和其他软件在集群中运行。