我想在Google Cloud Platform的App引擎中创建新服务并将其部署到现有应用中。
可以通过URL test.appspot.com访问该应用
我想用一个简单的网页创建一个新服务,可以使用应用程序引擎中的URL my-service.test.appspot.com对其进行访问。
我知道我需要创建app.yaml并进行部署,但是我不确定是否需要使用以前已经部署的现有app.yaml,或者可以使用新服务创建新的app.yaml命名并部署它。
使用新app.yaml进行部署会覆盖该应用和现有服务,还是仅在App引擎中创建我的新服务?
将新服务部署到App引擎中的现有应用程序时需要执行哪些步骤?
答案 0 :(得分:2)
虽然可以通过指定不同的部署命令参数来使用现有的app.yaml
来部署新服务,但我不建议这样做,因为它的IMHO太脆弱了, d影响现有应用程序(从技术上说是现有单一服务应用程序的default
服务)的风险。您也不太可能希望在新服务中部署完全相同的代码(要部署的代码是.yaml
文件所在目录中的代码)。
我强烈建议(重新)构造您的应用程序,同时考虑到您的服务:
.yaml
文件(甚至不必称为app.yaml
从单一服务的应用程序目录到达那里相对简单:只需创建一个子目录(用于default
服务),然后将现有的app.yaml
和代码移入其中,请检查功能不受影响,请从新位置重新部署。然后为其他服务及其代码创建子目录。
另请参阅:
通常,您为每个服务创建一个目录,其中包含 服务的YAML文件和关联的源代码。可选的 应用程序级配置文件(
dispatch.yaml
,cron.yaml
,index.yaml
和队列.yaml
)包含在顶级应用程序中 目录。下面的示例显示了三种服务。在service1
和service2
,源文件与YAML文件处于同一级别。 在service3
中,有两个版本的YAML文件。
答案 1 :(得分:0)
Appengine旨在考虑“微服务”。每个服务都是隔离的,因此每个服务都有其自己的源代码和配置。顺便说一下,您可以混合使用标准版本和灵活版本,也可以混合使用语言,静态和动态资源,...
顺便说一下,部署您的微服务,并使用分派将查询路由到正确的部署。
但是1条建议:保持服务一致。我的意思是,不要在没有相互关联的情况下部署2个应用,出于这些原因,更喜欢创建2个项目:
dispatch.yaml
文件限制为20条规则