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

问题描述 投票:6回答:1

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

目前我发现自己主要在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。

任何有关这方面的帮助将非常感激。谢谢!

node.js angular google-app-engine
1个回答
4
投票

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

在后端和前端 前端和后端不再用于描述App Engine应用程序的表示层和数据访问层。文档中唯一的参考是here。管理使用service配置的应用程序的automatic scaling的(VM)实例被视为前端基础结构的一部分,而配置有manual scaling的实例则被视为后端基础结构。 原因是自动缩放是App Engine的一种

功能强大,易于扩展,

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.