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