我正在尝试找出跨多个区域部署单个 Google App Engine 应用程序的最佳方法。
使用相同的代码,但存储的数据特定于每个区域。激励人心的例子是超本地化评论网站,例如 yelp.com 或 Urbanspoon,其中要评论的餐馆和其他企业特定于某个地区(例如 boston.app.com、seattle.app.com)。
几个选项包括:
创建多个 GAE 应用程序, 并在它们之间复制代码。
创建单个 GAE 应用程序,并存储所有区域的所有数据 在同一个数据存储中,具有一个区域 每个模型的标识符字段 划定相关区域。
一些权衡:
选项 2 似乎会越来越低效(空间:为每个模型的每个记录复制区域标识符;时间:对每个查询的标识符进行过滤/索引)。
选项 1 要求每个区域都有一个应用 ID,而 GAE 只允许每个帐户 10 个应用。此外,在每个区域部署代码以及数据存储迁移似乎管理起来很痛苦。
在理想的世界中,我会有一个应用程序实例。从该实例开始,我可以在子域之间进行路由(例如 here ),并且为每个子域都有一个单独的数据存储区。但我相信 GAE 只允许每个应用程序有一个数据存储。
有人知道解决这个问题的最佳方法吗?或者我没有考虑的选项?
感谢您的宝贵时间!
最佳答案
我会推荐你的方法#2。与大多数数据库不同,存储空间很便宜(并且区域代码很短),并且数据存储性能不会随着大小而降低。使用单个应用程序还可以更轻松地管理和升级,并避免 TOS 的任何问题(TOS 禁止对应用程序进行分片以避免计费)。
关于google-app-engine - 如何最好地将单个 Google App Engine 应用程序部署到多个特定于区域的子域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1493800/