Google App Engine - 前端和后端Web开发

时间:2018-01-03 12:33:58

标签: node.js angular google-app-engine

我目前在许多专用主机上管理一组VM,以提供apache,nginx和节点实时和开发服务器。这当然需要持续且耗时的维护以确保安全性和可靠性。我发现花更多的时间来处理这个平台,然后编写新的令人兴奋的项目。所以我一直在研究谷歌应用引擎,以消除管理任何虚拟机的需要,但我正在努力找出如何让它为我的功能!

目前我发现自己主要在Angular(v4-5)中为我的前端和后端的nodejs开发。我的开发nginx服务器支持我的角度应用程序和路由到ng-serve以及运行我的节点应用程序的单独vm。我使用PM2来管理两台服务器上的应用程序。

这很棒!我可以在本地编写代码,通过rsync脚本将我的更改推送到服务器,应用程序重新启动并更新更新。更重要的是,我可以在前端和后端之间进行情感编码!准备好后,我可以轻松地将代码轻松切换到实时服务器 - 很好!

这是我在努力的地方......

我似乎无法工作如何在一个App Engine项目中开发和发布前端和后端代码的版本。

这可能吗?我将如何部署/发布这两个方面?

我是否会更好地拥有两个项目,例如example.com& api.example.com?如果是这样,我可以在开发时让两个项目相互交谈吗?

我已经可以在App Engine中创建angular / nodejs应用程序,但我无法在此托管服务中使用前端和后端开发的基础知识。

我想使用App Engine的强大功能,例如版本控制,轻松扩展以及重要的应用和更新部署。此外,将我的所有网站(包括PHP中较旧的网站)移至App Engine。

对此有任何帮助将非常感激。谢谢!

1 个答案:

答案 0 :(得分:4)

正如@ Yandrak3建议的那样,microservices architecture就是您所需要的。但请记住,该文档与作为运行时环境does not support Node.js的App Engine标准环境有关。但在部署到App Engine Flexible时,请牢记微服务架构。

在后端和前端
前端后端不再用于描述App Engine应用程序的表示层和数据访问层。文档中唯一的参考是here。管理service您的应用automatic scaling配置了manual scaling的(VM)实例被视为前端基础架构的一部分,而配置了the state of the memory over time的实例则是考虑后端基础设施 原因是自动缩放是App Engine的一个

  

很棒的功能[...]易于扩展,

以与传入您应用的外部请求数量相称的方式自动展示您应用的前端。

手动扩展更适合后端操作,您可能希望根据here或其他方案运行操作。您可以找到有关缩放类型here的更多信息。请记住,后一个文档属于App Engine标准文档,它包含基本扩展,这是App Engine Flexible环境中没有的功能。

关于服务和版本控制
在您的情况下,应用程序的前端后端模块将成为App Engine Flex中的两个独立服务。对于每个服务,您可以部署多个版本。更多,解释Communication between services 在这种情况下,{em>前端和后端之间的this document可以通过它们之间的HTTP请求来完成。
如果下一个问题是来自用户的HTTP请求如何到达适当版本的服务(或服务),请选中deploy multiple services
commands,您将使用相同的app.yaml,并通过其传入配置文件this answer分隔每个部署和服务。

您的问题需要具有相当广泛(和深)概念的响应。希望这个答案从一开始就很好。