Google App Engine中的MongoDB实例可以灵活地处于状态吗?

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

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

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

PS:我不想使用Google数据存储,主要是因为我使用了Symfony PHP框架以及许多有用的软件包来与Mongo进行交互。

我不build议在GAE上部署MongoDB,你可以很容易地丢失你的数据,我不认为GAEfunction是托pipe数据库。 我认为这会比解决scheme更令人头痛。

如果您想使用泊坞窗图像,我build议使用Google容器引擎 。 你只需要记住,你必须使用持久磁盘,以不丢失数据。 对于开发甚至小型生产应用程序,它应该满足您的所有需求。

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