是否有可能使用Google App Engine托管多个应用程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有可能使用Google App Engine托管多个应用程序?相关的知识,希望对你有一定的参考价值。

我是否需要为每个新的Google App Engine应用程序新项目创建?或者还有其他方法可以在一个项目中拥有多个应用程序吗?

编辑:删除“额外的问题”

答案

这可以通过services轻松完成。部署到App Engine时,使用如下行来定义app.yaml文件:service: my-second-app

完成另一个Node.js服务的app.yaml文件:

service: my-second-app
runtime: nodejs
env: flex
automatic_scaling:
   min_num_instances: 1

部署时,请从包含app.yaml文件的目录中执行此操作:

gcloud app deploy

或者,如果您想在yaml文件中为您的seond app定义配置:

gcloud app deploy my-second-app.yaml

新服务将与您的default服务一起部署,并将获得它自己的URL,如:

https://my-second-app-dot-my-project-name.appspot.com
另一答案

我认为有一张图片(价值千言万语)呈现Google App Engine服务层次结构是一个好主意。

An Overview of App Engine

照片来自An Overview of App Engine页面。

因此,您的Google云端项目下有一个应用程序。应用程序可以拥有一个或多个服务。服务松散耦合,独立开发和维护。对于许多人来说,它可能会令人困惑,因为他们可能将服务称为应用程序。谷歌更改了命名惯例以使用microservices命名法。

服务可以具有不同的版本(例如v1.0.1,v1.0.2,v2.0.0等),并且版本可以具有处理新工作流量的多个实例。

显然,服务,版本和实例的数量存在限制,它们依赖于An Overview of App Engine中指定的区域和免费/付费版本。

另一答案

每次在App Engine上传内容时,您都必须定义一个version name,并且您可以为同一个应用程序ID上传多达25个不同的版本。

每个版本都有一个如下所示的直接URL:

http://version.application-id.appspot.com

或者如果想要HTTPS

https://version-dot-application-id.appspot.com

如果省略URL中的版本,则会获得从仪表板中选择的默认版本。

因此理论上,您可以在同一个项目下运行多达25个不同的应用程序,但它们将共享相同的数据存储区。


另一种选择是使用App Engine Modules

另一答案

您可以使用相同的projectId运行无限数量的“应用程序”。例如,当用户点击服务器上的不同网址时,您可以加载不同的客户端应用:/mainApp/setup/admin等。

这些应用程序可以访问相同的数据存储区,因此您必须小心将它们分开,例如,使用命名空间或不同的实体类型 - 如果您确实需要将它们分开。在上面的示例中,“设置”和“管理员”可以是访问相同数据的不同应用程序。

请注意,只有当这些应用程序密切相关时,才能在同一项目中拥有多个应用程序。否则,即使您使用不同的App Engine模块来运行每个应用程序的服务器端代码,它也会变得非常不方便。

另一答案

现在回过头来看,我认为正确的方法是使用App Engine Services(以前称为模块)。每个服务都有自己的版本等。

编辑:更新已弃用的名称模块到服务

以上是关于是否有可能使用Google App Engine托管多个应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine检查更新

是否可以使用 Node.js 或其他一些服务器端 JavaScript 方法开发 Google App Engine 网络应用程序?

Google App Engine(即“纯 Python”):将 PDF 转换为图像

Google App Engine - IP 地址列表?

是否可以将 Google App Engine 与 Google Cloud *** 一起使用?

是否可以使用 XMPP 和 Google App Engine 创建一个简单的聊天工具?