AWS:使用单个 RDS 实例进行多区域设置

Ion*_*Ion 11 scaling scalability amazon-ec2 amazon-web-services amazon-rds

我正在尝试以多区域方案扩展我们的 Web 应用程序(PHP、MySQL、memcache)。目前,我们使用的设置在 ELB 和 RDS 实例后面有两个 EC2 实例,它们都在美国东部(弗吉尼亚)地区。

我们也希望在欧盟(爱尔兰)地区开展业务。这意味着那里至少有一个新的 EC2 实例(与其他实例相同,为相同的应用程序提供服务)。

我已经复制了所需的 AMI,设置了新实例,设置了相同的 ELB 配置(SSL 终止所需)并在 Route53 中配置了基于延迟的路由。它按建议工作。

但是,来自欧盟的客户存在速度问题。这是因为欧盟 EC2 实例连接到美国的 RDS 实例。据我所知亚马逊还没有启用RDS多区域复制。

您对如何在使用单个 RDS 实例时正确加速整个设置有什么建议吗?

另外,关于如何扩大规模的任何想法?理想情况下,出于各种原因,我们希望继续使用 RDS 技术。尽管如此,我愿意接受建议(我猜下一个想法是托管我们自己的 MySQL 服务器)。

小智 5

您应该仔细考虑为什么需要在美国和欧盟拥有相同的数据。毕竟这些是不同的用户。

在多区域环境中运行要复杂得多,而且由于美国和欧盟之间固有的延迟,通常会降低性能。

即使您移出 RDS 并尝试在区域之间复制数据(异步或同步),您也会遇到延迟问题,这会给您的用户带来糟糕的性能。

最简单的方法是在 EU 设置一个专用的 RDS 服务器,并且在这些实例之间不共享任何内容。


Nat*_*n C 4

由于延迟低,RDS 非常适合单区域部署,但当您开始扩展到不同区域时,情况就不同了。如果您想保留RDS实例,您可以在欧盟地区建立自己的MySQL服务器并进行复制。这样,速度就会更容易接受。