Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Group Replication Use Cases

20.1.2 组复制使用案例

组复制使您可以创建具有冗余的容错系统,通过将系统状态复制到一组服务器上。即使一些服务器随后失败,只要不是所有或大多数,系统仍然可用。在服务器失败的情况下,组可能会降低性能或可扩展性,但仍然可用。服务器故障是独立的和独立的。它们由一个组成员服务跟踪,该服务依赖于一个分布式故障检测器,可以在任何服务器离开组时发出信号,无论是自愿还是由于意外停止。有一个分布式恢复过程,以确保当服务器加入组时,它们将自动更新。没有服务器故障转移的需要,并且多源更新的性质确保即使单个服务器故障,也不会阻止更新。总之,MySQL 组复制保证数据库服务的连续可用性。

需要注意的是,尽管数据库服务是可用的,但是在服务器意外退出的情况下,连接到它的客户端必须被重定向或故障转移到不同的服务器。这不是组复制尝试解决的问题。连接器、负载均衡器、路由器或某种形式的中间件更适合处理这个问题。例如,参见 MySQL 路由器 8.2

总之,MySQL 组复制提供了高度可用的、高度弹性的、可靠的 MySQL 服务。

Tip

要部署多个 MySQL 实例,可以使用 InnoDB 集群,它使您可以轻松地管理一组 MySQL 服务器实例,以实现高可用性。在noDB 集群将 MySQL 组复制包装在一个程序化环境中,使您可以轻松部署一组 MySQL 实例以实现高可用性。此外,InnoDB 集群还与 MySQL 路由器无缝集成,使您的应用程序可以连接到集群,而不需要编写自己的故障转移过程。对于不需要高可用性的相似用例,可以使用 InnoDB 复制集。MySQL Shell 的安装说明可以在 这里找到。

使用案例示例

以下示例是组复制的典型使用案例。

  • 弹性复制 - 需要非常灵活的复制基础设施的环境,其中服务器数量需要动态增长或缩减,并且尽量减少副作用。例如,云中的数据库服务。

  • 高可用分片 - 分片是一种流行的实现写入扩展的方法。使用 MySQL 组复制来实现高可用的分片,每个分片映射到一个复制组。

  • 异步源副本复制的替代方案 - 在某些情况下,使用单个源服务器可能会成为单点故障。写入整个组可能在某些情况下更具可扩展性。

  • 自治系统 - 此外,您还可以部署 MySQL 组复制,以便自动化复制协议(在本章和之前的章节中已经描述)。