部署多个package.json Google Cloud

我想修改这个构build: https : //github.com/ebidel/try-puppeteer

我注意到有2个package.json (和server.js)文件。

  1. 根( https://github.com/ebidel/try-puppeteer/blob/master/package.json )

  2. 后端( https://github.com/ebidel/try-puppeteer/blob/master/backend/package.json )

为什么他们分别部署后端和前端,2台快递服务器? 这是最佳做法吗? devise矫枉过正?

在一个项目中有两个server.js文件(或两个服务器)的目的是什么?

它是否有我忽视的分级系统?

另外,我该如何部署这个项目? 从后端的根?

为什么他们分别部署后端和前端,2台快递服务器? 这是最佳做法吗? devise矫枉过正?

比较两个yaml文件的前端和后端:

https://github.com/ebidel/try-puppeteer/blob/master/app.yaml

 automatic_scaling: min_num_instances: 1 max_num_instances: 1 

https://github.com/ebidel/try-puppeteer/blob/master/backend/app.yaml

 automatic_scaling: min_num_instances: 1 max_num_instances: 5 

作者期望他的后端有足够的工作来保证缩放。 实际上,他的前端主要提供静态数据,它根本不消耗任何东西,而且太简单了。

解耦你的应用程序意味着如果后端超载或崩溃,那么前端将不会遭受任何停机时间。

在一个项目中有两个server.js文件(或两个服务器)的目的是什么?

在这种情况下,这些应用程序是两种不同的应用程序,它们是松耦合的:不是通过networking/ Google Cloud App Engine连接,而是连接程序级别。 如果你想更清楚地看到git仓库中的端口8080和8081的grep。 很多时候,“try-puppeteer /后端”将是一个单独的git仓库,保留层次结构,然后下载。

它是否有我忽视的分级系统?

前端作为负载平衡器。 再次查看代码中的端口8081和8080。

你应该部署两个,根是前端。 从根:

 npm run deploy-backend npm run deploy-frontend 

请参阅package.json: https : //github.com/ebidel/try-puppeteer/blob/master/package.json#L16