AWS DynamoDB和RDS多个区域同步

时间:2014-02-23 01:57:55

标签: mysql amazon-web-services amazon-ec2 amazon-dynamodb amazon-rds

我有以下情况:公司在亚马逊云上有两个区域,美国区域1和亚洲区域2。在当前架构中,AWS DynamoDB和MySQL-RDS解决方案在美国地区使用和安装。拥有业务逻辑的亚洲地区的EC2服务器必须访问美国地区的DynamoDB和RDS才能获取或更新数据。

该公司现在希望在亚洲地区安装DynamoDB和MySql-RDS以获得更好的性能,因此亚洲地区的EC2服务器可以从同一地区获取所需的数据。

现在的主要问题是如何在两个区域之间同步数据,当前的DynamoDB和RDS本身并不支持多个区域。

在这种情况下是否有最佳做法?

1 个答案:

答案 0 :(得分:3)

当访问来自不同的地理位置时,这是一个大问题。

RDS关闭对跨区域“读取”复制品有一些支持。看看这里。 http://aws.amazon.com/about-aws/whats-new/2013/11/26/announcing-point-and-click-database-replication-across-aws-regions-for-amazon-rds-for-mysql/

Dynamo DB没有此功能。您可能需要考虑对数据进行分区(将亚洲数据保留在亚洲,将美国数据保存在美国)。另一种可能性是通过使用内存缓存来提高速度。不要为所有读取始终访问Dynamo DB:每次成功读取后,在AWS Elasticache中缓存对象 - 将此缓存设置为靠近所需区域(您将需要多个缓存群集)。然后所有的读取都会很快(因为它们现在是本地区域)。当数据发生变化(写入)时,也会使缓存中的对象无效。

然而,这种方法只能加速读取(但不能加速写入)。通常情况下,大多数应用都可以。