i have the following scenario where a company have 2 regions on Amazon cloud, Region 1 in US and Region 2 in Asia. in the current architecture AWS dynamoDB and MySQL-RDS solution are used and installed in US region. The EC2 servers in Asia regions which hold the business logic has to access dynamodb and RDS in US region to get or update data.
The company wants now to install dynamoDB and MySql-RDS in Asia region to get better performance, so the EC2 servers in Asia region can get the required data from the same region.
The main issue now how can we sync the data between the 2 regions, the current DynamoDB and RDS dont inherently support multiple regions.
are there any best practices in such a case.
Thank you
This is a big problem when the access is from different geographies.
RDS off late has some support for cross-region "read" replicas. Take a look here. 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 doesnt any way have this. You might have to think of partitioning your data (keep asia data in asia and US data in US). Another possibility is to increase the speed by using an in-memory cache. Dont acccess Dynamo DB always for all the reads: After every successful read, cache the object in AWS Elasticache - setup this cache to be near the required regions (you will need multiple cache clusters). Then all all the reads will be fast (since they are now region local). When the data changes (write) then invalidate the object in the cache as well.
However this methods only speeds up the reads (but not writes). Typically most apps will be OK with this.
i have the following scenario where a company have 2 regions on Amazon cloud, Region 1 in US and Region 2 in Asia. in the current architecture AWS dynamoDB and MySQL-RDS solution are used and installed in US region. The EC2 servers in Asia regions which hold the business logic has to access dynamodb and RDS in US region to get or update data.
The company wants now to install dynamoDB and MySql-RDS in Asia region to get better performance, so the EC2 servers in Asia region can get the required data from the same region.
The main issue now how can we sync the data between the 2 regions, the current DynamoDB and RDS dont inherently support multiple regions.
are there any best practices in such a case.
Thank you
This is a big problem when the access is from different geographies.
RDS off late has some support for cross-region "read" replicas. Take a look here. 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 doesnt any way have this. You might have to think of partitioning your data (keep asia data in asia and US data in US). Another possibility is to increase the speed by using an in-memory cache. Dont acccess Dynamo DB always for all the reads: After every successful read, cache the object in AWS Elasticache - setup this cache to be near the required regions (you will need multiple cache clusters). Then all all the reads will be fast (since they are now region local). When the data changes (write) then invalidate the object in the cache as well.
However this methods only speeds up the reads (but not writes). Typically most apps will be OK with this.
0 commentaires:
Enregistrer un commentaire