Google Datastore跨区域复制

时间:2016-12-15 18:25:07

标签: google-cloud-datastore database-replication

我们有一个在美国和欧盟托管的应用。 为了获得出色的性能,我们将在两个位置托管数据存储区实例。

现在我们的问题是如何将数据从美国数据存储区复制到EU数据存储区?

或者无论我们从技术视图中存储数据的位置是什么?

1 个答案:

答案 0 :(得分:3)

没有多地点GAE应用程序(至少现在还没有)。创建应用程序时,可以选择应用程序的唯一位置,但无法更改。请参阅App Engine - How to create project in region us-centralgae app moving to eu-datacenter or re-opening

来自Creating a project and application的重要提示:

  

重要事项:每个Cloud Platform项目只能包含一个App Engine应用程序,您无法在更改后再更改该区域   创建App Engine应用程序。

现在,数据存储本身只能存在于单个云项目中,该项目还将1:1映射到一个位置。来自Google Cloud Datastore Locations

  

创建Google Cloud Platform项目时,您必须选择一个   存储项目数据的位置。减少延迟和   提高可用性,将数据存储在用户和服务附近   需要它。您可以在以下位置创建项目:

     
      
  • europe-west - 西欧
  •   
  • us-central - 美国中部
  •   
  • us-east1 - 美国东部
  •   
  • asia-northeast1 - 东北亚太平洋
  •   

App Engine和Cloud Datastore都列为具有多区域覆盖范围的产品(请参阅https://cloud.google.com/about/locations/)。但这种覆盖范围不是全球性的,它仍然包含在一个区域组内。美国和欧盟属于不同的地区群体,所以这对你没有帮助。来自Multi-regional resources

  

与多地区资源相关的数据与a无关   特定区域可以在区域和区域之间移动   添加和删​​除区域组。例如,桶中的   欧盟的Google云端存储位置可让数据保持静止状态   在欧盟内部,但静止数据可以存储或移动   到欧盟内的任何云存储区域(受制于   terms of serviceservice specific terms)。

所以最多可以在2个不同的区域中部署2个不同的 GAE应用,最终来自(几乎)相同的代码。

您需要自己处理这些应用程序之间的数据复制,例如,为此目的在应用程序之间添加自定义/专用通信,或者使用Remote API(每个应用程序就像其他客户端一样)应用程序的远程API)。

最有可能不是微不足道的,特别是如果数据一致性很重要的话。在这种情况下,可能使用单个应用程序会更好,并且会因某些客户的位置而对某些客户造成性能损失。