部署多个package.json Google Cloud

时间:2017-10-31 16:16:58

标签: node.js express docker google-cloud-platform puppeteer

我正在尝试修改此版本:https://github.com/ebidel/try-puppeteer

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

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

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

  3. 为什么他们使用2台快速服务器单独部署后端和前端?这是最佳做法吗?设计过度?

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

    它是否有我忽略的层次结构系统?

    此外,我如何部署此项目?来自后端的根源?

2 个答案:

答案 0 :(得分:2)

你应该同时部署,root是前端。来自root:

npm run deploy-backend
npm run deploy-frontend

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

答案 1 :(得分:1)

  

为什么他们单独部署后端和前端,2   快递服务器?这是最佳做法吗?设计过度?

比较前端和后端的两个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文件(或两个服务器)的目的是什么?   一个项目?

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

  

它是否有我忽略的层次结构系统?

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