[英]how should I architecture an API and front app in Google App Engine?
我正在开发第一个部署到GAE的node.js应用程序。
它将作为API服务和使用Next.js开发的前端网络应用进行组织
我正在研究这种体系结构,尽管我将应用程序分为两个存储库,但我可以有一个合并的存储库来创建两个不同的微服务:
https://medium.com/this-dot-labs/node-js-microservices-on-google-app-engine-b1193497fb4b
对我来说,创建一个新的仓库来合并它们并进行部署似乎太劳累了(难道不打破微服务的基本思想之一来进行隔离的部署吗?)
我不得不劝阻这是因为我们在某些部分需要SEO,并且我们应该使用Next.js(或类似的东西):
https://cloud.google.com/storage/docs/hosting-static-website
我一直在努力的另一个想法是...为前端和API创建不同的GAE项目以独立部署。 对我来说,这似乎是最好的选择,但我想了解您作为GAE专家的意见。
我应该使用哪一个?
谢谢!
GAE不在乎将代码部署到服务中的方式如何映射到一个或多个VCS存储库(或根本没有存储库)。 这完全取决于您。
使用单个存储库,您可能会遇到从CI / CD管道进行部署的困难-例如,当仅更改另一项服务时,将不必要的部署部署到一项服务。
那里的许多示例都集中在应用程序而不是服务上,但是这些仅是这些应用程序的默认服务。 就我个人而言,我喜欢将不同服务的代码保存在单独的目录中,请参阅中的图像。就文件夹结构而言,Google App Engine应用程序中的默认服务/模块可以成为非默认服务/模块的兄弟吗? (在更新的文档页面上不再存在)。 这还允许轻松映射到多个单独的VCS存储库
对于多个项目还是多个服务,这可能会有帮助: 在GAE项目/应用程序级别与服务/模块级别上实现CI / CD环境的优势?
您提到的静态网站链接不是GAE的一部分,而是GCS的一部分-GCS的另一种产品。 可以单独使用-对于静态网站,但可能难以/不可能:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.