【问题标题】:optimising GAE/J backup and restore in a multi-tenancy application在多租户应用程序中优化 GAE/J 备份和恢复
【发布时间】:2014-02-06 14:13:30
【问题描述】:

我有一个多租户 GAE/J 应用程序,并且已经实现了一个基于 cron 的夜间备份到 Google Cloud Storage。 15GB 的总数据主要包括索引,备份似乎既简单又便宜。

但是,在运行测试还原后,我有几个观察结果并正在寻找建议。

  1. 我的备份/恢复策略只涉及从一个命名空间进行恢复,但 GAE 不允许在恢复期间指定命名空间(尽管它可以用于备份)。
  2. 我有义务将我的所有数据恢复到为此目的创建的中间应用程序。
  3. 该计划包括对遭受数据丢失的命名空间中丢失的实体进行二次备份。
  4. 最后将该特定数据集恢复到我的实时应用程序中。

上面的工作,但它是:

  1. 昂贵:我付费进行恢复,其中主要包含不需要的命名空间。
  2. 耗时

一种解决方法是分别指定每个命名空间的备份,以便我可以在需要时独立访问它们。但是我真的不喜欢必须在某个地方维护我的命名空间列表的想法。

我了解了 GAEBAR,但知道它不适用于 Java 应用程序。

我很想知道是否有人在这方面有任何实践经验/建议?

(当然最好的解决方案是 Google 支持从多命名空间云备份中恢复单个 NS)

【问题讨论】:

  • 对不起,我不太明白,您是自己实现备份/恢复逻辑还是使用内置功能? “但是您不能在还原中指定命名空间”是什么意思

标签: java google-app-engine namespaces google-cloud-storage


【解决方案1】:

我的备份/恢复策略只涉及从一个 命名空间,但 GAE 不允许在期间指定命名空间 恢复(虽然它适用于备份)。

这是因为命名空间是在实体的键中编码的。如果您只提供某个命名空间中的对象,则只会更新那些实体。

但我真的不喜欢必须维护我的列表的想法 命名空间。

您可以查询这种“命名空间”,它会显示一个命名空间列表

SELECT * FROM __namespace__

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多