【问题标题】:Can MongoDB instances in Google App Engine flexible be stateful?Google App Engine 中的 MongoDB 实例可以是有状态的吗?
【发布时间】:2016-10-17 16:48:44
【问题描述】:

现在我已经设法使用自定义 Dockerfile 将我的一项服务(用 PHP 编写的 API)部署到 GAE 灵活, 我想部署另一个服务,它是一个 Mongodb 数据库,以便我的 PHP API 可以在 Mongodb 中存储数据。

因为我想在 GAE 中灵活构建我的所有微服务,所以我正在考虑使用相同的流程,即部署另一个自定义 Dockerfile 来构建我的 Mongodb 实例。

现在我想知道这是否是正确的方法?在这种情况下,我担心我的 Mongodb 实例的状态性。当实例重新启动或部署另一个版本时,数据是否会丢失,对于我正在尝试做的事情,还有其他更推荐的方法吗?

PS:我不想使用 Google Datastore,主要是因为我使用 Symfony PHP 框架和许多有用的包来与 Mongo 交互。

【问题讨论】:

    标签: php mongodb symfony google-app-engine docker


    【解决方案1】:

    我不建议在 GAE 上部署 MongoDB,您很容易丢失数据,而且我不认为 GAE 功能是为托管数据库而设计的。我认为这比解决方案更让人头疼。

    如果你想使用 docker 镜像,我建议使用Google Container Engine。您只需要记住,您必须使用永久性磁盘才能不丢失数据。对于开发甚至小型生产应用程序,它应该可以满足您的所有需求。

    但根据我的经验,将 MongoDB 服务器部署在 Google Compute Engine 实例上会更好、更高效。您可以使用Cloud Launcher 进行部署(云启动器将启动您的 MongoDB 几乎可以使用,您只需要添加用户/身份验证)

    【讨论】:

    • 我认为在 GCE 上部署 Mongo 确实是我要做的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多