[英]Google App Engine - Front and Backend Web Development
我目前在许多专用主机上管理一组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。
任何有关这方面的帮助将非常感激。 谢谢!
正如@ Yandrak3所建议的那样, 微服务架构就是您所需要的。 但请记住,该文档与App Engine标准环境有关,该环境不支持Node.js作为运行时环境。 但在部署到App Engine Flexible时,请牢记微服务架构。
在后端和前端
前端和后端不再用于描述App Engine应用程序的表示层和数据访问层。 文档中唯一的参考是这里 。 管理应用程序服务的(VM)实例配置为自动扩展,被视为前端基础架构的一部分,而配置了手动扩展的服务器被视为后端基础架构 。
原因是自动缩放是App Engine的一种
功能强大,易于扩展,
以与传入您应用的外部请求数量相称的方式自动显示您应用的前端。
手动扩展更适合后端操作 ,您可能希望根据内存状态随时间或其他方案运行操作。 您可以在此处找到有关缩放类型的更多信息。 请记住,后一个文档属于App Engine标准文档,它包括基本扩展,这是App Engine Flexible环境中没有的功能。
关于服务和版本控制
在您的情况下,您的应用程序的前端和后端模块将成为App Engine Flex中的两个独立服务。 对于每个服务,您可以部署多个版本。 更多, 在这里解释。
服务之间的通信 ,在这种情况下,在您的前端和后端之间,可以通过它们之间的HTTP请求来完成。
如果下一个问题是来自用户的HTTP请求如何到达适当版本的服务(或服务),请查看此文档 。
要部署多个服务 ,您将使用相同的命令 ,并通过其传入配置文件app.yaml
将每个部署和服务分开。
您的问题需要具有相当广泛( 和深入 )概念的响应。 希望这个答案很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.