【发布时间】:2009-09-29 17:01:58
【问题描述】:
我正在尝试找出跨多个区域部署单个 Google App Engine 应用程序的最佳方式。
将使用相同的代码,但存储的数据特定于每个区域。鼓舞人心的例子是超本地化的评论网站,如 yelp.com 或 urbanspoon,其中餐馆和其他要评论的企业是特定于某个地区的(例如 boston.app.com、seatle.app.com)。
几个选项包括:
创建多个 GAE 应用程序, 并在它们之间复制代码。
创建单个 GAE 应用程序,并存储所有区域的所有数据 在同一个数据存储中,具有一个区域 每个模型的标识符字段 划定相关区域。
一些取舍:
选项 2 似乎效率越来越低(空间:为每个模型的每个记录复制一个区域标识符;时间:对每个查询的标识符进行过滤/索引)。
选项 1 要求每个区域都有一个应用 ID,而 GAE 只允许每个帐户 10 个应用。此外,在每个区域部署代码以及数据存储迁移,似乎都很难管理。
在理想的世界中,我应该只有一个应用程序实例。从那个实例开始,我可以在子域之间进行路由(例如here),并为每个子域设置一个单独的数据存储区。但我相信 GAE 只允许每个应用程序使用一个数据存储。
是否有人对解决此问题的最佳方法有想法?或者我没有考虑的选项?
感谢您的宝贵时间!
【问题讨论】:
标签: google-app-engine deployment google-cloud-datastore