6

我想禁用用户对我的应用程序的访问,以便我可以执行架构迁移。我研究了一些可能性并发现了可能的缺点:

  1. 禁用数据存储写入 - 我宁愿关闭我的整个应用程序,这样人们就不会看到任何错误等。此外,我认为禁用写入会阻止我执行迁移。

  2. 禁用应用程序 - 我不清楚这是否只会对我的用户禁用它,从而使我无法执行迁移。我也不确定禁用/启用周转时间。

  3. 将我的域名重定向到一个临时页面 - 我的应用仍然可以在 appspot.com 上访问

  4. 上传我的应用程序的新版本,除了指向“暂时关闭”页面之外,它不响应请求。

有什么建议么?

4

3 回答 3

3

建议 4 似乎可能是最好的方法。一些框架有一个“维护模式”,在这种模式下,所有传入的请求都将被重定向到一个页面,该页面指示该站点由于维护而关闭。如果您的框架不支持这种模式,您只需上传应用程序的新版本(可能称为 version maintenance)并将其切换为新的默认版本。此版本可能是一个空应用程序,其中所有传入请求都转到“维护页面”,指示该站点已关闭以进行维护。然后使用迁移代码手动转到您的应用程序版本并执行它 ( http://<version>.<appname>.appspot.com)。完成迁移后,将您的应用默认版本切换到具有新架构的新版本。

解释你的其他想法

  1. 禁用写入甚至会阻止您在应用程序上进行写入。我相信这更意味着从一个应用程序迁移到另一个或其他“冻结”数据存储的应用程序。
  2. 禁用应用程序会使应用程序完全关闭
  3. 重定向您的域会给您的迁移造成 DNS 延迟,这可能需要 48 小时才能完全传播(切换到临时页面,然后切换回新版本)
  4. 如前所述,恕我直言,这将是最好的方法。
于 2013-02-10T16:14:07.863 回答
2

是否不能同时使用两种模式,并使用新版本的应用程序进行迁移,它只使用新模式。通过这种方式,您始终可以退回到旧版本。

顺便一提。因为数据存储是无模式的,所以我总是可以更改“模式”,而不会关闭应用程序。

于 2013-02-10T14:10:59.693 回答
0

转到 GCP > 应用引擎 > 设置 > 禁用应用程序。

您可以随时启用您的应用程序。

如果您禁用此应用程序,将会发生一些事情:

  1. 该应用程序将停止服务

  2. 所有数据和状态将被保存

  3. 适用时仍会产生帐单费用

  4. 您的任务队列将继续运行。它们可以在 Cloud Tasks UI 中暂停

于 2021-02-08T17:35:57.860 回答