本指南将展示如何利用“组复制”插件配置多达九个 Amazon Relational Database Service(Amazon RDS)for MySQL 实例的主动-主动复制。使用所提供的 AWS CloudFormation 堆栈和脚本,您可以实施一个多主模式拓扑,以实现应用程序的持续可用性。写入操作分布在主动-主动集群中的多个数据库实例上,最大限度地提高了可用性并减小了写入延迟。

请注意:[免责声明]

架构图

[架构图描述]

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • RDS for MySQLEventBridgeAmazon SNSAWS CloudTrail 可帮助您跟踪和审查日志和信息,以便快速执行错误审查和事件响应。具体而言,RDS for MySQL 允许您在 RDS for MySQL 数据库实例之间设置多主模式,以便为应用程序提供持续可用性。

    阅读《卓越运营》白皮书 
  • 弹性负载均衡(ELB)自动将您的传入流量分配给多个目标;它将监控它的注册目标的运行状况,并只将流量路由到运行状况良好的目标。本指南使用 AWS KMS 提供默认加密,并可选择使用自定义的 KMS 密钥。RDS for MySQL 的加密数据库实例对底层存储、备份、副本和快照进行加密,以提供一层额外的数据保护。最后,考虑使用 AWS Identity and Access Management(IAM)等基于身份的策略保护您的资源。

    阅读《安全性》白皮书 
  • RDS for MySQL 通过跨多个可用区复制数据提供高可用性,“组复制”插件提供数据弹性。要为 RDS 快照提供持久存储,请使用 Amazon Simple Storage Service(Amazon S3)保护关键数据存储。

    ELB 会自动在一个或多个可用区中的多个目标(例如 Amazon EC2 实例、容器和 IP 地址)中自动分配传入的流量。它将监控它的注册目标的运行状况,并只将流量路由到运行状况良好的目标,以提高应用程序的可用性。当您的传入流量随时间变化时,ELB 会扩展您的负载均衡器。

    最后,CloudFormation 会自动部署资源并预置出现故障时的回滚功能,以便在出现故障时提供可靠性。

    阅读《可靠性》白皮书 
  • 使用 RDS for MySQL 中的“组复制”插件以及“事务大小”和“跟踪控制”等配置,优化应用程序的性能和复制吞吐量。此外,通过使用 ProxySQL 在 RDS 数据库实例之间拆分读写操作,可进一步增强应用程序的性能。此外,LambdaEventBridge 是可扩展、可自定义的服务,可帮助您维护主动-主动集群拓扑。

    阅读《性能效率》白皮书 
  • 使用 RDS for MySQL,您可以部署具有经济高效且可调整大小的硬件容量的可扩展 MySQL 服务器。使用 ELB,您只需按实际使用量付费。最后,广泛而深入的 Amazon EC2 实例产品组合与 Amazon EC2 Auto Scaling 相结合,可帮助您根据业务需求定制计算资源,并根据观察到的需求纵向扩展和缩减容量。

    阅读《成本优化》白皮书 
  • Amazon EC2 的自动扩缩功能有助于根据应用程序需求调整资源,从而最大限度地减少浪费并提高可持续性。我们建议对 RDS for MySQL 使用基于 Graviton 的 Amazon EC2 实例,以便在实现与基于 x86 的同类实例相同的性能时减少多达 60% 的能耗,从而减少您的碳足迹。此外,由于能够停止和启动 RDS for MySQL 数据库实例,无需运行资源即可执行临时测试或日常开发活动。

    阅读《可持续性》白皮书 
博客

用于在 Amazon RDS for MySQL 上进行主动-主动复制的“组复制”插件简介

这篇博客文章讨论了 MySQL 组复制、它的使用案例、配置、应用程序级注意事项以及在现代化数据库管理中的重要性。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。

此页内容对您是否有帮助?